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

WBOY
Lepaskan: 2016-06-23 13:34:38
asal
863 orang telah melayarinya

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

自己解决了,结贴了

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan