场景

1.替换字段中全部匹配的字符串
  2.替换指定位置的字符串,如匹配目标字符串的第一个,或者最后一个替换

方法

1.REPLACE替换全部匹配内容

 REPLACE(string_expression, string_pattern, string_replacement)参数:string_expression 要搜索的字符串表达式string_pattern 是要查找的子字符串string_replacement 替换字符串

2.STUFF删除指定长度的字符,并在指定的起点处插入另一组字符

 STUFF(string_expression1, start, length, string_expression2)参数:string_expression1 要搜索的字符串表达式start 删除开始位(>=1)length 删除长度string_expression2 插入字符串

Demo

目标数据库如下

  需求1:替换所有PersonId和PersonName中的1414030230和张三 替换为 2021和王加油

 select F_Id,F_PersonId,REPLACE(F_PersonId,'1414030230','2020'),F_PersonName,REPLACE(F_PersonName,N'张三',N'王加油') from TempPerson


  需求2:替换第一个匹配的数据

 --CHARINDEX:匹配的字符串起始位置,没有匹配的数据返回值为0--len:字符串长度select F_Id,F_PersonId,STUFF(F_PersonId,CHARINDEX('1414030230',F_PersonId),len('1414030230'),'2020'),F_PersonName,STUFF(F_PersonName,CHARINDEX(N'张三',F_PersonName),len(N'张三'),'王加油')from TempPerson


  需求3:替换最后一个匹配的数据

 --REVERSE:字符串倒转select F_Id,F_PersonId,REVERSE(STUFF(REVERSE(F_PersonId),CHARINDEX(REVERSE('1414030230'),REVERSE(F_PersonId)),len('1414030230'),REVERSE('2020'))),F_PersonName,REVERSE(STUFF(REVERSE(F_PersonName),CHARINDEX(REVERSE(N'张三'),REVERSE(F_PersonName)),len(N'张三'),REVERSE(N'王加油')))from TempPerson


  从上面两个示例中可看出,有的数据替换为NULL,这是因为CHARINDEX方法没有找到匹配的字符串时返回值为0,STUFF方法替换开始位需要大于0,等于0时,返回内容为NULL,所以在实际使用STUFF中,避免产生NULL,需要加上where条件筛选到想要的数据再使用STUFF替换。

SQL Server 替换相关推荐

  1. sql server 替换_SQL Server替换功能–全面指南

    sql server 替换 Hello, readers! In this article, we will be understanding the working of SQL Server Re ...

  2. SQL server替换字符串

    在SQL SERVER中替换字符串: update table[表名] set Fields[字段名]=replace(Fields[字段名],'需要被替换的字符串','替换后的字符串') 例: up ...

  3. SQL Server 替换一个字段的特定字符

    原来字段内容: 现在欲把字符'A'替换为'H' :sql如下,使用 REPLACE 函数即可: update pt1 set stationCD = REPLACE(stationCD, 'A','H ...

  4. sql server 替换有反斜杠的字符串_SQL注入思维导图

    新朋友点上方蓝字"网络空间安全社"即可关注本文为以大三老狗的思路现阶段整理的超大型思维导图中的"sql注入"分支介绍. 2020/1/2 22:00 前言 本文 ...

  5. sql server 替换有反斜杠的字符串_字符串提取,到底谁是你的菜?

    字符串提取,是表亲们经常遇到的问题,今天就和大家一起学习字符串提取的方法. 如下图所示,要从A列的路径中提取出文件名称. 提取的结果如下图所示: 观察这些数据,咱们可以发现: A列字符串中都是以&qu ...

  6. SQL Server 替换越南语(越南文)音标SQL脚本

    由于公司业务调整,越南建厂,个别程序某些控件不支持越南语,输出后会乱码(变成"?"),去掉音标越南籍同事也能理解词句中的意思,所以采取替换办法,将音标去掉. SELECT REPL ...

  7. sql server 替换字段中的部分字符,替换指定字符的方法

    例如:将列date中1124改成1120, 20111124 改成20111120 update tab set date = replace(date,'1124','1120') where 条件

  8. sql server替换函数

    'zhangsan.cn'->'zhangsan.com' var str='zhangsan.cn'; update Table set Domain=REPLACE(str,'.cn','. ...

  9. oracle空值判断 =,Oracle,sql server的空值(null)判断

    Oracle,sql server的空值(null)判断 sql server 替换null:isnull(arg,value) 如:select isnull(price,0.0) from ord ...

  10. SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)

    PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...

最新文章

  1. 洛谷P3688/uoj#291. [ZJOI2017]树状数组
  2. oracle脚本审核平台,Oracle 脚本(适应各种业务需要)
  3. 【正则表达式】正则匹配注释
  4. 配置Da-Faster 踩坑过程
  5. Eclipse、VBA、IE开发者工具 Debug快捷键
  6. 编程学习记录1:编程的一些简单概念
  7. 7-4 输出三角形字符阵列 (15 分)
  8. Python datetime 格式化字符串:strftime()
  9. 构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统...
  10. 【水果识别】基于matlab GUI苹果质量检测及分级系统【含Matlab源码 519期】
  11. kaggle 预测房价竞赛总结 动手学深度学习v2 pytorch
  12. 禁忌搜索算法c语言代码,禁忌搜索算法
  13. win7下MyEclipse装Nutch1.7
  14. ecshop与shopex哪个更好?
  15. redisson分布式锁实现原理
  16. android裸眼图片,一种Android应用的裸眼3D显示方法与流程
  17. GoLang - Go中Mocking(3)
  18. 共享美容院营销新概念与盈利模式
  19. jack分享的1-3开wifi 零火版本智能开关解决方案
  20. 26个字母和数字符号ASCII码对照表

热门文章

  1. 【小家Spring】Spring AOP原理使用的基础类打点(AopInfrastructureBean、ProxyProcessorSupport、Advised、AjType)
  2. 7-2 求奇数和 (5 分)
  3. 餐厅点菜c语言程序代码,餐馆点菜系统C语言源代码.pdf
  4. 配置Snappy压缩
  5. XRecyclerView Scrapped or attached views may not be recycled
  6. python 经典ppt_Python处理PPT文件的实用姿势
  7. 曲率以及曲率半径推导
  8. PS不能拖入图片进去
  9. 【ToyDB-Rust】超详细介绍
  10. 魔门云获得百万级天使轮投资,由创客100创投基金领投