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


--------------------------------------------------------------------------------------------------------------
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库语言解析 各种数据库的流程 目录........................................................................................................................................ 2 第 1章 模块功能概要描述................................................................................................... 4 第 2章 SQL 语句编写注意问题 .......................................................................................... 5 2.1 IS NULL 与 IS NOT NULL.................................................................................... 5 2.2 联接列...................................................................................................................... 5 2.3 带通配符(%)的 like语句 .................................................................................. 6 2.4 Order by 语句 ...................................................................................................... 6 2.5 NOT......................................................................................................................... 6 2.6 IN 和 EXISTS........................................................................................................ 7 第 3章 SQL 语句性能优化 .................................................................................................. 9 3.1 选用合适的 ORACLE 优化器................................................................................ 9 3.2 访问 Table的方式................................................................................................... 9 3.3 共享 SQL 语句...................................................................................................... 10 3.4 选择最有效率的表名顺序(只在基于规则的优化器中有效)............................. 11 3.5 WHERE 子句中的连接顺序................................................................................. 12 3.6 SELECT子句中避免使用 ‘ *’ ............................................................................. 13 3.7 减少访问数据库的次数........................................................................................ 13 3.8 使用 DECODE 函数来减少处理时间.................................................................. 14 3.9 整合简单,无关联的数据库访问........................................................................... 15 3.10 删除重复记录...................................................................................................... 16 3.11 用 TRUNCATE 替代 DELETE.......................................................................... 16 3.12 尽量多使用 COMMIT........................................................................................ 16 3.13 计算记录条数...................................................................................................... 17 3.14 用 Where子句替换 HAVING子句.................................................................... 17 3.15 减少对表的查询.................................................................................................. 17 3.16 通过内部函数提高 SQL 效率............................................................................ 18 3.17 使用表的别名(Alias) .......................................................................................... 20 3.18 用 EXISTS替代 IN............................................................................................. 20 3.19 用 NOT EXISTS 替代 NOT IN........................................................................... 21 3.20 用表连接替换 EXISTS....................................................................................... 21··············································································································································

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值