宠辱不惊,闲看庭前花开花落
去留无意,漫随天外云卷云舒


数据库运维农民工,有兴趣可以关注我的
微信公众号:『SQL数据库运维』

SQL中常用的字符串REPLACE函数和LEN函数详解!

首发微信公众号:SQL数据库运维

原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a5b3&token=1491694448&lang=zh_CN#rd


REPLACE(string, string1,string2)函数理解记忆

  • REPLACE('被搜索的字符串','被替换的字符串','替换的字符串')

  • REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str

参数:

  • string:被搜索的字符串,可为任意长度。 

  • string1:要搜索并被 string2 替换的字符串。该字符串的长度不应超过 255 个字节。如果 string1 是空字符串,则按原样返回原始字符串。 

  • string2:该字符串用于替换 string1,可为任意长度。如果 string2 是空字符串,则删除出现的所有string1。 

返回类型:

如果其中的一个输入参数数据类型为 nvarchar,则返回 nvarchar;否则 REPLACE 返回 varchar。如果任何一个参数为 NULL,则返回 NULL。

注意:

它不支持 text,ntext类型字段的替换。否则,请使用CAST函数显示转换。

实例:

SELECT REPLACE('SQL数据库运维','SQL','SQL Server')
--结果:SQL Server数据库运维
SELECT REPLACE('SQL数据库运维','','SQL Server')
--结果:SQL数据库运维
SELECT REPLACE('SQL数据库运维','SQL','')
--结果:数据库运维
update TBICXX SET Content=replace(cast(Content AS varchar(8000)),'123','456')

LEN( length)函数
LEN() 函数返回文本字段中值的长度。返回字符表达式中的字符数。

SQL LEN() 语法

SELECT LEN(column_name) FROM table_name

MySQL 中函数为 LENGTH():

SELECT LENGTH(column_name) FROM table_name

SQL Server LEN() 实例

1、下面的 SQL 语句将LEN()函数中指定的值,返回长度(左滑查看结果):

SELECT LEN('sqlserver') 字符数   --结果:9

SELECT LEN('sql server') 字符数  --结果:10

SELECT LEN('数据库') 字符数       --结果:3

SELECT LEN('....') 字符数        --结果:4

根据以上例子可以看出:

LEN()对相同的单字节和双字节字符串返回相同的值,如汉字、英文、符号。

注意:LEN函数在对待英文字符和汉字字符时,返回的字符串长度是相同的,一个汉字也算作一个字符;如果字符串中包含前导空格和尾随空格,则函数也将它们包含在内。

2、我们还可以使用LEN()函数进行字段长度的SELECT条件过滤查询,进而查询出CXM字段里值的长度大于16的数据行,举例如下:

SELECT CXM FROM YXHIS2020..TBMZGHMX202001 WHERE LEN(CXM)>16

 

posted @ 2022-08-10 08:54  蓝涩街灯  阅读(397)  评论(0编辑  收藏  举报