SQL通配符及替换
通配符 描述
% 匹配0个或多个字符
- 匹配单个字符
[] 匹配指定集合的任⼀单个字符
[^] 匹配不在指定集合内的任⼀单个字符
有下划线的情况 需要加 escape '\'; 可以把\换成其他字符的,只是在关键字后边 就变成了 ESCAPE + "ni你的字符" like 'abcd$_% escape '$'
SELECT field1 FROM tablename1 WHERE field2 like 'abcd\_%' escape '\';
SELECT [ID]
,[BoardName]
,[Layout]
,[BContent]
FROM [KAGA_Label_SEC].[dbo].[MainBoard] where [BoardName] like 'SA\_\_%' escape '\';
运⾏结果如下:
ID BoardName Layout BContent
1046 SA__904701形式B 015701-K●●●-50904801■■■■-------
1047 SA__904501形式B 015601-K●●●-50904601■■■■-------
将 SA__ 的主机板内的字符更改为 替换为 CA50 的字符
update [KAGA_Label_SEC].[dbo].[MainBoard] set [BoardName] = replace ( [BoardName], 'SA__','CA50'); SELECT * FROM [KAGA_Label_SEC].[dbo].[MainBoard] where [BoardName] like 'CA50%'
注意: 直接做这个更新操作的时候备份⼀下数据库或者进⾏⼀下事务或者什么的
推荐使⽤以下⽅式更新-----------------------先查询----然后限制条件进⾏更新--------------------------------------
备⽤安全的⽅式,查询的结果ID保存到另⼀个表格中.以便更新错误时可恢复.
/****** Script for SelectTopNRows command from SSMS ******/
SELECT [ID]
,[BoardName]
,[Layout]
sql语句替换表中内容,[BContent]
FROM [KAGA_Label_SEC].[dbo].[MainBoard] where [BoardName] like 'SA/_%' escape '/'
update [KAGA_Label_SEC].[dbo].[MainBoard]set [BoardName] = replace ( [BoardName], 'SA_','CA5')where [BoardName] like 'SA/_%' escape '/' ;
--------------------------------------------------------------------------------------------------------------
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论