在SQL Server数据库中,查询包含特殊字符(如换行符、回车符)的字段数据是常见需求。本文将系统介绍如何通过T-SQL语句高效检测文本字段中的换行符(LF/CHAR(10))、回车符(CR/CHAR(13))及Windows换行符组合(CRLF/CHAR(13)+CHAR(10))。
换行符检测方法
基础LIKE模式匹配
-- 检测换行符(LF)
SELECT * FROM 表名 WHERE 字段名 LIKE '%' + CHAR(10) + '%';
-- 检测回车符(CR)
SELECT * FROM 表名 WHERE 字段名 LIKE '%' + CHAR(13) + '%';
-- 检测Windows换行符(CRLF)
SELECT * FROM 表名 WHERE 字段名 LIKE '%' + CHAR(13) + CHAR(10) + '%';
高效CHARINDEX函数
-- 单字符检测(性能更优)
SELECT * FROM 表名 WHERE CHARINDEX(CHAR(10), 字段名) > 0;
-- 综合检测任意换行符
SELECT * FROM 表名
WHERE CHARINDEX(CHAR(10), 字段名) > 0
OR CHARINDEX(CHAR(13), 字段名) > 0;