Mysql之字符串函数

这篇博客主要是总结一下Mysql中常用的字符串函数的用法,主要有CHAR_LENGTH,FORMAT,INSERT,INSTR,LEFT/RIGHT,LENGTH,LTRIM/RTRIM/TRIM,STRCMP,CONCAT,SUBSTRING.

1.CHAR_LENGTH
返回值为字符串str的长度,长度的单位为字符

SELECT CHAR_LENGTH('vince')

2.FORMAT(X,D)
将数字x的格式写为‘#,###,###.##’,以四舍五入的
方式保留小数点后D位,并将结果以字符串的形式
返回。若D为0,则返回结果不带有小数点,或者
不含小数

select Format(12332.123456,4)

3.INSERT(str,pos,len,newstr)
返回字符串str,其子字符串起始于pos位置和
被字符串newstr取代的len字符。
如果pos超过字符串长度,则返回值为原始字符串
假如len的长度大于其它字符串的长度,则从pos位置
开始替换。若任何一个参数为null,则返回值为null
注意:替换不是插入

select insert('Quadratic',3,4,'What')

4.INSTR(str,substr)
返回字符串str中子字符串的第一个出现位置

select instr('foobarbar','bar')

5.LEFT/RIGHT
LEFT(str,len)
返回从字符串str开始的len最左字符

select left('football',5)

RIGHT(str,len)
返回从字符串str开始的len最右字符

select right('football',4)

6.LENGTH(str)
返回值为字符串str的长度,单位为字节。一个多字节字符算作多字节,这意味着对于一个包含5个2字节字符的字符串,LENGTH()的返回值为10
而CHAR_LENGTH()的返回值为5

select length('text')

7.LTRIM(str)/RTRIM(str)/TRIM(str)
LTRIM(str):返回字符串str,其引导空格字符被删除

select LTRIM(' barbar')

RTRIM(str):返回字符串str,结尾空格字符被删除

select RTRIM('barbar ')

TRIM([{BOTH|LEADING|TRAILING}[remstr]FROM]str)
返回字符串str,其中所有remstr前缀和或后缀都已被删除。若分类符BOTH、LEADING或TRAILING中没有一个时给定的,则假设为BOTH,remstr为可选项,在未指定情况下,可删除空格

(1)select trim (' bar ');`
->bar
(2)select trim(leading 'x' from 'xxxbarxxx')
->barxxx
(3)select trim(both 'x' from 'xxxbarxxx')
->bar
(4)select trim(trailing 'xyz' from 'barxxyz')
->barx

8.STRCMP(expr1,expr2)
若所有的字符串均相同,则返回0,若根据当前分类的次序,第一个参数
小于第二个,则返回-1,其他情况返回1

select strcmp('text','text2')
->返回-1
select strcmp('text2','text')
->返回1
select strcmp('text','text')
->返回0

9.CONCAT(str1,str2,….)
返回结果为连接参数产生的字符串。如果有任何一个字符为NULL,则返回值为NULL。或许有一个或者多个参数。

select concat('My','s','ql')
->Mysql
select concat('My','null','ql')
->null

10.SUBSTRING

SUBSTRING(str,pos)
SUBSTRING(STR FROM POS)
SUBSTRING(STR,POS,LEN)
SUBSTRING(STR FROM POS FOR LEN)

不带有len参数的格式从字符串str返回一个子字符串起始于位置pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置pos。使用from的格式为标准的sql语法。

(1)select substring('Quadratically',5)
->ratically
(2)select substring('footbarbar' FROM 4)
->barbar
(3)select substring('Quadratically'5,6)
->ratica
(4)select substring('Sakila',-3)
->ila
(5)select substring('Sakila',-5,3)
->aki
(6)select substring('Sakila' from -4 for 2)
->ki
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值