我有一个包含与此类似的 SQL 查询的文件:
INSERT INTO Bank (bankCode, swiftCode, bankName, country, countryCode, locationCode,
address, city)
VALUES ('MIDL', 'MIDLGB2102N', 'Hsbc Bank Plc', 'United Kingdom', 'GB',
'21', '', 'Bishop's Stortford');
我必须替换字符串文字中的所有单引号才能执行查询。
有人可以提供正则表达式来实现这一目标吗?
例如上面的查询应该是:
INSERT INTO Bank (bankCode, swiftCode, bankName, country, countryCode,
locationCode,
address, city)
VALUES ('MIDL', 'MIDLGB2102N', 'Hsbc Bank Plc', 'United Kingdom', 'GB',
'21', '', 'Bishop''s Stortford');
将 'Bishop's Stortford' 替换为 'Bishop's Stortford' 。将 ' 替换为 ''
最佳答案
最简单的方法可能类似于:
/[^,(]\s*'\s*[^,)]/
这将匹配所有前面或后面没有逗号或括号的 ' 字符(仅限其他有效的 MySQL 字符)。我包含了对空格的搜索,因为这些字符也可能是有效字符。
这肯定会匹配所有内容。我不太熟悉 MySQL Workbench 如何解析正则表达式中的替换,因此我无法提供太多帮助。
关于mysql - 替换字符串查询中的所有单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34967243/