如何检查SQL结果是否包含换行符?

Nib*_*Pig 35 sql sql-server ssms

我有一个包含字符串的varchar列lol\ncats,但是,在SQL Management Studio中它显示为lol cats.

如何检查是否\n存在?

Luk*_*keH 66

SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(10) + '%'
Run Code Online (Sandbox Code Playgroud)

要么...

SELECT *
FROM your_table
WHERE CHARINDEX(CHAR(10), your_column) > 0
Run Code Online (Sandbox Code Playgroud)


Sac*_*hag 33

使用char(13)'\r'char(10)用于'\n'

SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(10) + '%'
Run Code Online (Sandbox Code Playgroud)

要么

SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(13) + CHAR(10) + '%'
Run Code Online (Sandbox Code Playgroud)

  • 用于注意"CHAR(10)"和"CHAR(13)"对应的字符的+1. (5认同)

Tar*_*ran 6

对于最终在此处遇到的其他MySQL用户:

SELECT *
FROM your_table
WHERE your_column LIKE CONCAT('%', CHAR(10), '%')
Run Code Online (Sandbox Code Playgroud)

  • 同样,该解决方案在 SQL 2012+ 中也有效 (2认同)

小智 5

对我来说,以下内容在 MySQL Workbench 和 HeidiSQL(使用 MySQL)中都可以正常工作,而无需使用以下变char()\n

SELECT * FROM table_name WHERE field_name LIKE '%\n%'
Run Code Online (Sandbox Code Playgroud)