我有一个定义为nvarchar(100)
的列。
有时办公室用户会错误地输入密钥,这会导致某些应用程序出现问题。当我在SQL Server中检查值时,它似乎是双空格字符。现在我的任务是找到有这种情况的记录。我尝试了下面的代码来查找有问题的记录:
DECLARE @NewLineChar AS CHAR(2) = CHAR(10) + CHAR(13);
SELECT *
FROM TBLCASABIT
WHERE CARI_ISIM LIKE '%'+CHAR(10) + CHAR(13)+'%'
但它并没有返回我需要的记录。
如果我使用双空格字符,我可以看到我放的测试记录,其他一些记录有双倍空格字符。所以我无法确定其他记录是否具有相同的情况。
我该如何处理这种情况?任何帮助将不胜感激。
答案 0 :(得分:0)
我相信你会向后收到CHAR(10)
和CHAR(13)
的订单。以下是每个角色的内容:
CHAR(13) - carriage return, or \r
CHAR(10) - line feed, or \n
在Windows中,\r\n
是一行结尾,而在Unix \n
中本身被解释为行结尾。因此,您应该在CHAR(13)
之后立即搜索CHAR(10)
,而不是相反。请尝试以下查询:
SELECT *
FROM TBLCASABIT
WHERE CARI_ISIM LIKE '%' + CHAR(13) + CHAR(10) + '%'
<强>参考文献:强>