使用Regex清理SQL SP

时间:2009-08-06 11:39:38

标签: sql regex

  1. 如果我在SQL 2005中运行查找和替换 - 那将是常规的 表达式以查找制表符和空格序列(或空格和制表符序列) 并用标签替换它们?

  2. 如果我有一个以空格开头的行 - 是否有正则表达式 将该领先空间转换为标签?

  3. 在a之前删除所有空格的正则表达式是什么 SQL语句中的CR / LF?

4 个答案:

答案 0 :(得分:1)

如果您在谈论SQL Server Management Studio中的“快速替换”对话框,则会获得两个或多个空格和/或制表符的任意组合。

:b:b+

这会找到所有前导空格/标签(如果您只想匹配单个空格/标签,请移除+

^:b+

这会让你得到所有尾随空格/标签

:b+$

将{{1>}粘贴在替换为:框中,将匹配项转换为单个标签页。

答案 1 :(得分:0)

问题1

UPDATE Customers SET Title = Replace(Title, '\t ', '\t') AND Title = Replace(Title, ' \t', '\t');

取自:http://www.sqlbook.com/SQL/SQL-Replace-Function-25.aspx

看看是否能解决你的问题..我从未尝试过它

如果AND运算符不起作用,则可能必须执行2次查询:D

答案 2 :(得分:0)

CodeProject发现了一些内容:

^[ \t]+|[ \t]+$
希望有所帮助!

答案 3 :(得分:0)

当然不要在下面的例子中输入'

CRLF之前的空格 - 在SQL管理工作室

找到:'\ n'替换为:'\ n'检查使用:正则表达式

  

如何指定1个或多个空格?

TAB之前的空格

找到:'\ t'替换为:'\ t'检查使用:正则表达式

  

如何指定1个或多个空格?

TAB之后的空格

找到:'\ t'替换为:'\ t'检查使用:正则表达式

  

如何指定1个或多个空格?

空行 - TAB和CRLF

找到:'\ t \ n'替换为:'\ n'检查使用:正则表达式

  

如何指定1个或多个标签?