在SQL中输入密钥问题

时间:2016-09-02 08:01:13

标签: sql sql-server-2008 tsql newline

我有一个定义为nvarchar(100)的列。

有时办公室用户会错误地输入密钥,这会导致某些应用程序出现问题。当我在SQL Server中检查值时,它似乎是双空格字符。现在我的任务是找到有这种情况的记录。我尝试了下面的代码来查找有问题的记录:

DECLARE @NewLineChar AS CHAR(2) = CHAR(10) + CHAR(13);

SELECT * 
FROM TBLCASABIT 
WHERE CARI_ISIM LIKE '%'+CHAR(10) + CHAR(13)+'%'

但它并没有返回我需要的记录。

如果我使用双空格字符,我可以看到我放的测试记录,其他一些记录有双倍空格字符。所以我无法确定其他记录是否具有相同的情况。

我该如何处理这种情况?任何帮助将不胜感激。

1 个答案:

答案 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) + '%'

<强>参考文献: