【发布时间】:2015-03-11 12:41:59
【问题描述】:
我有一个表,其中的列名称可以包含用引号括起来的子字符串...“substring”... 对于此表中的每一行,我需要将第一次出现的 " 替换为 «,第二个替换为 » 每行只能包含一个带引号的子字符串。
所以如果我有这样的记录'fgh"abc"sdf',我想得到这个'fgh«abc»sdf'
我想不出解决办法。
【问题讨论】:
-
您使用的是什么关系型数据库?它是否支持正则表达式替换?如果不是(甚至可能)两次通过常规字符串替换操作可能更容易管理。
-
我使用 MS SQL Server 2012。也许我可以在 PATINDEX 的帮助下做到这一点。谢谢你的建议!
-
您应该发布一个示例,说明当前的记录是什么样的以及您希望它是什么样的。
-
如果引号在记录的开头和结尾,则根本不需要正则表达式。只需简单的子字符串即可获取不带引号的文本,然后用您要使用的新引号将其括起来。
标签: sql sql-server regex