在工作中,不可避免要对文本类的字段进行处理和分析,而对于不规则的文本字段处理是要让人疯的节奏。
今天来给大家分享下SQL语句中的文本处理函数,常用的函数及功能如下:
Left()函数:返回string字符串左边n个字符
Right()函数:返回string字符串右边n个字符
Lower()函数:大写字符转化成小写的函数
Upper()函数:小写字符转化成大写的函数
Len()/Length()函数:返回文本字段中值的长度
Substr()/Substring()函数:截取字符串中的一部分字符
Charindex()函数:返回需要查询的字符串的位置
LTRIM()函数:删除数据中左边的空格
RTRIM()函数:删除数据中右边的空格
TRIM()函数:删除数据中的空格
REPLACE()函数:替换文本中特定的字符串
文本处理1:Left()&Right()函数
实现功能:使用Left()和Right()函数截取需要的文本。
适用场景:文本长度相同且格式一致的字段。
适用数据库:Sql Server/My Sql/Oracle。
例如我们需要分析每天购买不同产品类型的数量,但数据库的order表没有直接存出生年月这个字段,可通过Left()和Right()函数截取出生年年月这个字段(下方案例中的身份证信息是随机生成的)。
分析:身份证总共有18位,其中第七位得到第12位是出生年月。
首先取身份证的前12位,即Left(id_no,12),然后再从右取6位,就得到出生年月了,对应的代码是Right(Left(id_no,12),6)。
代码如下:
select order_id,name,created_time,number,id_no,message,
right(left(id_no,12),6) 出生年月 #使用Left和Right函数截取字段
from order
输出结果:
文本处理2:Upper()&Lower()函数
实现功能:可以使用Upper()或Lower()函数统一大小写。
适用场景:需要将字母类型统一大写或小写时&#x