sqlserver中有replace语句。
工具:sqlserver 2008R2
步骤:
1、如学生表中有如下数据:
2、现要将表中的学号中的0都显示成a,可用如下语句:
select replace(学号,'0','a') 学号,姓名,性别,年龄 from 学生
3、可以看到学号部分的0都变成了a,如图:
replace函数使用语法:
replace(s1,s2,[s3]) 即s3替换s1中的s2字符,s3可以不填,默认是空字符。
/*
MySQL
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中
1、如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。
2、 否则,直接插入新数据。
MSSQL(2008+)
判断t_B记录在T_A就更新,否则就插入
*/
Merge Into t_A As a
Using t_B as b on a.id=b.id
When Matched then
update set a.SNO=b.SNO
When Not Matched then
Insert(id,SNO) values(b.id,b.SNO);