【发布时间】:2016-02-03 08:29:10
【问题描述】:
我正在尝试将列分隔为单独的行形式“select”、“group by”和“order by”关键字。如何使前面的空格可选?
查找(需要前面的空格):
^{[ ]+}{(SELECT|GROUP BY|ORDER BY)} {[#_a-z0-5]+}
替换为: \1\2\n\1 \3
原始查询(只是一个没有逻辑的例子):
SELECT myColumn
FROM (
SELECT myColumn
FROM foo
GROUP BY myColumn
ORDER BY myColumn
) as bar
GROUP BY myColumn
ORDER BY myColumn
结果(主查询失败):
SELECT myColumn
FROM (
SELECT
myColumn
FROM foo
GROUP BY
myColumn
ORDER BY
myColumn
) as bar
GROUP BY myColumn
ORDER BY myColumn
预期结果:
SELECT
myColumn
FROM (
SELECT
myColumn
FROM foo
GROUP BY
myColumn
ORDER BY
myColumn
) as bar
GROUP BY
myColumn
ORDER BY
myColumn
【问题讨论】:
标签: sql-server regex replace ssms sql-server-2014