Blog / 阅读

SQL 通配符及替换

by admin on 2014-04-16 15:48:51 in ,



通配符      描述


%            匹配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]
      ,[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 '/' ;



写评论

相关文章

上一篇:Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/h

下一篇:oracle常用命令大全

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云