我有一个 varchar 列,其中包含字符串
lol\ncats
,但是,在 SQL Management Studio 中它显示为 lol cats
。
如何检查
\n
是否存在?
SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(10) + '%'
或者...
SELECT *
FROM your_table
WHERE CHARINDEX(CHAR(10), your_column) > 0
使用
char(13)
表示 '\r'
,使用 char(10)
表示 '\n'
SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(10) + '%'
或
SELECT *
FROM your_table
WHERE your_column LIKE '%' + CHAR(13) + CHAR(10) + '%'
对于所有来到这里的 MySQL 用户:
SELECT *
FROM your_table
WHERE your_column LIKE CONCAT('%', CHAR(10), '%')
对我来说,以下内容在 MySQL Workbench 和 HeidiSQL(使用 MySQL)中都可以正常工作,而无需使用
char()
的 \n
变体:
SELECT * FROM table_name WHERE field_name LIKE '%\n%'
在 Oracle 中,尝试以下命令
SELECT * FROM table_name WHERE field_name LIKE ('%'||chr(10)||'%');
SELECT *
FROM Table
WHERE PATINDEX('%' + CHAR(13) + CHAR(10) + '%', Column) > 0
select cc.columnname,right(cc.columnname,1),ASCII(right(cc.columnname,1)) ,cc.*
from table_name cc where
ASCII(right(cc.columnname,1)) = 13
这里
cc.columnname
=> 列名称是您要精新建的列
行或回车。right(cc.columnname,1)
=> 这只会显示一个字符有什么
在最后。通常它只显示空白ASCII(right(cc.columnname,1))
=> 这里我们得到的是不是的 ASCII 值
可打印的值。通过查看这个 ASCII 值,我们可以推断出它是哪一项。例如,如果这个 ASCII 值是 13 则回车,如果是 10 则换行,我们必须使用它来过滤该记录
cc.*
=> 这给出了表中的所有值(显示目的)where ASCII(right(cc.columnname,1)) = 13
=> 在这里我找到了所有
值为 13 asci 值,因此过滤 ascii 值 13它对我有用。
SELECT * FROM mytable WHERE mycolumn REGEXP "\n";
对于所有最终来到这里的 Redshift 用户:
select * from your_table where your_column ~ '[\r\n]+'