我只想知道我的访问数据库列文本是否包含不可打印的字符,如空格,输入等是否存在。提前致谢。
答案 0 :(得分:2)
SELECT *
FROM MyTable
WHERE my_col ALIKE '%' & CHR$(0) & '%'
OR my_col ALIKE '%' & CHR$(1) & '%'
OR my_col ALIKE '%' & CHR$(2) & '%'
OR my_col ALIKE '%' & CHR$(3) & '%'
... etc ...
OR my_col ALIKE '%' & CHR$(31) & '%';
说明:
&
是'string'数据类型的连接(add)运算符。
%
是通配符,可与ALIKE
运算符一起使用以匹配一个或多个字符。
例如:
'CAT' ALIKE '%A%'
...会评估true
,因为'CAT'包含'A'字符。
如果我们搜索可打印字符“A”,“B”和“C”,我们可以直接在代码中键入(打印)它们作为文字字符串和通配符:
( 'CAT' ALIKE '%A%'
OR 'CAT' ALIKE '%B%'
OR 'CAT' ALIKE '%C%' )
......实际上我们可以使用方括号内的字符范围:
'CAT' ALIKE '%[A-C]%'
对于非打印字符,我们需要使用CHR $()函数来生成它们,但我们仍然可以使用文字字符串作为通配符,这有助于使代码更具可读性。连接运算符需要将文字字符串添加到通过函数调用生成的字符串。