欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求正则高手,这样的替换能实现吗?

程序员文章站 2022-05-09 13:03:02
...
现有sql语句如下:
insert into test(A,B)values('$A','$B')
update test set A='$A' where B='$B'
因为多语言的问题,现在需要将sql语句替换成如下:
insert into test(A,B)values(N'$A',N'$B')
update test set A=N'$A' where B=N'$B'

请问用文本编辑器(phpDesigner 8,Notepad++,EditPlus)里的正则替换能够实现批量替换吗?
因为文件实在是太多了,真心改不起
求大神帮忙





回复讨论(解决方案)

你改下字段类型不就行了吗?
NVARCHAR 改为 VARCHAR

php 的正则替换
$txt = preg_replace("/'\$\w/", 'N$0', $txt);

现有sql语句如下:
insert into test(A,B)values('$A','$B')
update test set A='$A' where B='$B'
因为多语言的问题,现在需要将sql语句替换成如下:
insert into test(A,B)values(N'$A',N'$B')
update test set A=N'$A' where B=N'$B'

请问用文本编辑器(phpDesigner 8,Notepad++,EditPlus)里的正则替换能够实现批量替换吗?
因为文件实在是太多了,真心改不起
求大神帮忙



嗯,之前本来是varchar的,但是后来因为德语的关系,如果是varchar的话,数据库内存储就会变成?了,所以才修改了数据库类型为nvarchar,但是这样的话sql里就必须得加N才能没问题,所以才想找某种方式批量正则替换一下代码

你改下字段类型不就行了吗?
NVARCHAR 改为 VARCHAR

php 的正则替换
$txt = preg_replace("/'\$\w/", 'N$0', $txt);


嗯,之前本来是varchar的,但是后来因为德语的关系,如果是varchar的话,数据库内存储就会变成?了,所以才修改了数据库类型为nvarchar,但是这样的话sql里就必须得加N才能没问题,所以才想找某种方式批量正则替换一下代码

自己解决了,结贴了