2

任何人都可以提供一个功能来清理 UniData 查询的输入吗?或者提供要删除的内容列表?

4

3 回答 3

3

使用 CONVERT 一次性删除单个非法字符,然后使用 SWAP 删除非法多字符串。

在其他答案的基础上,您会得到:

CONVERT ( '"' : "'/[\]^" ) TO "" IN USER.DATA
SWAP "..." WITH "" IN USER.DATA
于 2009-12-04T19:24:11.773 回答
2

这是 UniQuery 保留的字符列表:

 " double quote
 ' apostrophe (single quote)
 / forward slash
 [ left square bracket
 \ back slash
 ] right square bracket
 ^ caret

您可以编写一个快速函数,该函数接受一个字符串,SWAP对每个字符执行 a ——您可以与 ISO 8859-1 十进制代码交换(例如]for ])——并返回经过处理的字符串。

于 2009-10-30T20:30:45.463 回答
2

除了 Rob Sobers 的回答之外,还寻找三倍.的 's/ 这些可以用作通配符,具体取决于您运行的模式,与 [ 和 ] 非常相似。

编辑评论:

我面前没有一个实例来测试它,但我相信您可以通过在 VOC 文件的“UOLOGIN”段落中将 ECLTYPE 显式设置为“P”来更改它。

UOLOGIN 就像登录。首次创建会话时调用它。不同之处在于 UniObjects 会话调用了 UOLOGIN

于 2009-11-14T02:00:32.530 回答