首页  >  文章  >  后端开发  >  求正则高手,这样的替换能实现吗?

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

WBOY
WBOY原创
2016-06-23 13:34:38859浏览

现有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才能没问题,所以才想找某种方式批量正则替换一下代码

自己解决了,结贴了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn