【发布时间】:2016-10-26 17:01:09
【问题描述】:
我有一个 MSSQL 表,它不断在字段中获取“空白”条目——我不确定这是以编程方式发生的还是由于用户输入而发生的。它将显示为一个小“块”,但其他字段看起来是空白的。如果我复制并粘贴到记事本++ 中并显示行字符,我会得到一个空格和一个 CRLF(有时不止一个)。我想确切地知道这个领域所拥有的一切。 CRLF 之后似乎还有另一个值没有出现在记事本中。如果我使用
搜索该字段WHERE (e_text LIKE '% ' + CHAR(13) + '' + CHAR(10) + '%')
我得到了结果。如果我搜索使用
WHERE (e_text LIKE ' ' + CHAR(13) + '' + CHAR(10) + '%')
我得到了结果。
但如果我搜索使用:
WHERE (e_text LIKE '% ' + CHAR(13) + '' + CHAR(10) + '')
我没有得到结果。因此,最后不使用通配符,SQL 似乎说还有另一个值。
【问题讨论】:
-
您提供的最后一个谓词
WHERE (e_text LIKE '% ' + CHAR(13) + '' + CHAR(10) + '')正在寻找一个在CRLF 之前有空格的字符串。如果你只使用WHERE (e_text LIKE CHAR(13) + '' + CHAR(10) + '')会发生什么? -
Aron,对不起——也包括在内——它什么也没找到。我的复制/粘贴到记事本++中显然没有显示尾随值。我刚刚跑了:msdn.microsoft.com/en-us/library/ms187323.aspx(使用 ASCII 和 CHAR 从字符串中打印 ASCII 值)结果是:32,13,10,10,32,32,32,32 所以,记事本缺少一个 CR 和四个尾随空格与此 SQL 打印输出对比。
-
但是如果我搜索: WHERE (e_text LIKE CHAR(13) + '' + CHAR(10) + ''+ CHAR(10) +' ') 我仍然什么也得不到。我尝试以一个空格和 % 结尾,也没有骰子。
标签: sql-server char