Sql server中有没有replace语句? 没有的话,怎样实现类似于mySql中的repla

2025-04-13 19:49:27
推荐回答(2个)
回答1:

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可以不填,默认是空字符。

回答2:

/*
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);