Sql Server中REPLACE函数的使用

   在sql的使用过程当中,我们偶尔会遇到这样一种情况,就是需要改变数据的存储形式,比如数据库某一张表(Info)当中有一个字段Educational(学历),以前存储的是Json数组,现在由于需求的改变,我需要将数据的存储形式改成Json格式,这样我们就需要对数据进行替换,当数据量太大时,人工操作明显是不可取的,所以作者就找到了sql当中的REPLACE函数,下面分享一下我的个人体会。

  REPLACE

  用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。

  语法

  REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )

  参数

  ''string_replace1''

  待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。

  ''string_replace2''

  待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。

  ''string_replace3''

  替换用的字符串表达式。string_replace3 可以是字符数据或二进制数据。

  返回类型

  如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。

  如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。

  示例

  下例用 xxx 替换 abcdefghi 中的字符串 cde.

  SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO

  下面是结果集:

  ------------abxxxfghixxx(1 row(s) affected)

  那么如何直接对数据进行修改呢?

  首页,我们要实现的是对表中存储的数据进行修改,那么一定会有 Update,其次,我们需要把我们的数据进行替换,那么一定会有 REPLACE.

  得出的sql语句如下:

  update [Info] set [Educational] =(select REPLACE(REPLACE([Educational],'[',''),']',''))

  执行以上的Sql语句,就会把表中存储的数据全部从Json数组变为Json字符串了。

时间: 2025-01-27 07:17:57

Sql Server中REPLACE函数的使用的相关文章

Sql Server中REPLACE函数的使用_MsSql

REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' ) 参数 ''string_replace1'' 待搜索的字符串表达式.string_replace1 可以是字符数据或二进制数据. ''string_replace2'' 待查找的字符串表达式.string_replace2 可以是字符数据或二进制数据.

Sql Server中Substring函数的用法实例解析_MsSql

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

Sql Server中Substring函数的用法实例解析

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

SQL Server 中 自定义函数 和 游标 应用的经典案例

server|函数|游标     这是网友的问题,我当时立马给出了自己的解决方案,但是没有想到中间有点小问题,发现后经过自己仔细调试,完全得到正确结果后,那个网友已经结帖了.我的代码遂成为鸡肋,食之无味,弃之可惜.但是我觉得我的代码确实还是挺经典的,所以整理了一下,供各位网友欣赏.问题:  假设环境如下:     表1:      ID, NAME,      QQ,     PHONE, 表中数据:      1       秦云        10102800 13500000       

sql server中自定义函数

create function getZHYE(@NM varchar(300)) returns FLOAT as begin Declare @memberName FLOAT set @memberName='0' select @memberName = 字段1 from 表A where 字段2=@NM if @memberName='0' begin set @memberName='0' end else if @memberName !='0' begin set @member

Sql Server中的日期与时间函数

Sql Server中的日期与时间函数: 1.  当前系统日期.时间     select getdate()  2. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值:   例如:向日期加上2天    select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数:   select datediff(day,'2004-09-01'

SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题

用户定义函数(UDF)分类       SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(Table-Valued Function).其中表值函数又分为Inline table-valued functions和Multistatement table-valued functions.     用户定义函数(UDF)在 SQL Server 中发挥重要的作用.用户定义函数可以

在SQL SERVER中实现Split功能的函数,并在存储过程中使用

代码 CREATE FUNCTION dbo.SplitString(          @Expression NVARCHAR(4000), --要拆分的字符串          @Delimiter NVARCHAR(100), --拆分符号          @n INT --要得到已拆分的返回字符串位置)RETURNS NVARCHAR(4000)ASBEGINDECLARE @p INTSET @p = CharIndex(@Delimiter,@Expression)IF @p >

SQL Server中的RAND函数的介绍和区间随机数值函数的实现

工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数.鉴于此,本文将对SQL Server中随机数的使用简单做个总结 . T-SQL 随机有关的三个函数 RAND([seed] 此函数生成从0到1之间随机 float 值(详细说明查看https://technet.microsoft.com/zh-cn/library/ms177610(v=sql.90).aspx). CHECKSUM ( * | expressio