如何使用ASCII 13或“回车”查询字段?

时间:2013-08-02 12:26:28

标签: sql ms-access ascii

我将XML文件导入表中。然后我尝试查询非空的字段。我有一个似乎为空或空的字段,但仍在查询中返回。

我不确定这是否是新行,但在网上搜索时,他们称之为“回车”

导入的XML部分如下所示:

<Myfield>
</Myfield>

我试图查询它没有被提取到ff:

Where Myfield <> null

Where Myfield <> ""

我尝试使用ASC()函数选择它并返回13但是当尝试通过以下代码过滤它时,我收到“无效的过程调用”错误

SELECT * FROM Table1 where asc(Myfield) = '13'

2 个答案:

答案 0 :(得分:4)

您所看到的可能实际上是 CRLF ,回车符(ASCII 13)加上换行符(ASCII 10),实际上是2个字符。它应该很容易检查......

SELECT * FROM Table1 WHERE Myfield = Chr(13) & Chr(10)

如果导入的XML带入任何空格或其他非打印字符,您可以在该字段的任何位置检查CRLF。

SELECT * FROM Table1 WHERE Myfield ALike '%' & Chr(13) & Chr(10) '%'

ALikeLike的不同之处在于,它表示数据库引擎需要ANSI通配符,%_,而不是Access *?

答案 1 :(得分:0)

SELECT * FROM Table1 where Myfield = Chr(13)

我也可能会寻找有限数量的角色

SELECT * FROM Table1 WHERE Myfield = Chr(13) OR Len(Myfield) < 2    ' or < 3