面对一个问题,似乎我存储在SQL Server中的数据没有正确存储,简单地说,如何验证varchar数据是否有回车符和换行符?我尝试将它们打印出来,不显示特殊字符.谢谢
Pau*_*sik 18
您可以使用SQL Server char(n)
和contains()
函数来匹配WHERE
子句中的字段内容.
carriage return: char(13) line feed: char(10)
以下SQL将查找包含换行符和/或回车符some_table
的值的所有行some_field
:
SELECT * FROM some_table
WHERE CONTAINS(some_field, char(13)) OR CONTAINS(some_field, char(10))
Run Code Online (Sandbox Code Playgroud)
要删除some_field
值中的回车,可以使用replace()
函数long with char()
和contains()
.SQL看起来像:
UPDATE some_table
SET some_field = REPLACE(some_field, char(13), '')
WHERE CONTAINS(some_field, char(13))
Run Code Online (Sandbox Code Playgroud)
要删除新行,您可以使用该更新的char(10)版本跟踪最后一个语句.如何完成所有操作取决于文本包含的换行符类型.但是,根据从新行插入/粘贴文本的位置可能是\ r \n或\n,因此针对\ r和\n字符运行更新比假设您获得一个版本的换行或者更安全另一个.
请注意,如果删除了换行符并且您想要保留它们,那么您必须在输入点修复该问题.您无法替换或修复已删除的内容,因此您应将原始文本数据保存在包含原始未修改文本的新列中.
归档时间: |
|
查看次数: |
55044 次 |
最近记录: |