Mysql之字符串函数
2017-02-07 18:11
330 查看
这篇博客主要是总结一下Mysql中常用的字符串函数的用法,主要有CHAR_LENGTH,FORMAT,INSERT,INSTR,LEFT/RIGHT,LENGTH,LTRIM/RTRIM/TRIM,STRCMP,CONCAT,SUBSTRING.
1.CHAR_LENGTH
返回值为字符串str的长度,长度的单位为字符
2.FORMAT(X,D)
将数字x的格式写为‘#,###,###.##’,以四舍五入的
方式保留小数点后D位,并将结果以字符串的形式
返回。若D为0,则返回结果不带有小数点,或者
不含小数
3.INSERT(str,pos,len,newstr)
返回字符串str,其子字符串起始于pos位置和
被字符串newstr取代的len字符。
如果pos超过字符串长度,则返回值为原始字符串
假如len的长度大于其它字符串的长度,则从pos位置
开始替换。若任何一个参数为null,则返回值为null
注意:替换不是插入
4.INSTR(str,substr)
返回字符串str中子字符串的第一个出现位置
5.LEFT/RIGHT
LEFT(str,len)
返回从字符串str开始的len最左字符
RIGHT(str,len)
返回从字符串str开始的len最右字符
6.LENGTH(str)
返回值为字符串str的长度,单位为字节。一个多字节字符算作多字节,这意味着对于一个包含5个2字节字符的字符串,LENGTH()的返回值为10
而CHAR_LENGTH()的返回值为5
7.LTRIM(str)/RTRIM(str)/TRIM(str)
LTRIM(str):返回字符串str,其引导空格字符被删除
RTRIM(str):返回字符串str,结尾空格字符被删除
TRIM([{BOTH|LEADING|TRAILING}[remstr]FROM]str)
返回字符串str,其中所有remstr前缀和或后缀都已被删除。若分类符BOTH、LEADING或TRAILING中没有一个时给定的,则假设为BOTH,remstr为可选项,在未指定情况下,可删除空格
8.STRCMP(expr1,expr2)
若所有的字符串均相同,则返回0,若根据当前分类的次序,第一个参数
小于第二个,则返回-1,其他情况返回1
9.CONCAT(str1,str2,….)
返回结果为连接参数产生的字符串。如果有任何一个字符为NULL,则返回值为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.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
相关文章推荐
- 整理了下MySQL内置函数表,包括字符串函数、数学函数和日期时间函数
- mysql的字符串函数
- MySql 的字符串函数
- MySQL 拼接字符串函数CONCAT
- mysql的字符串函数
- MySql 字符串函数--
- mysql的字符串函数
- MySQL 字符串函数大全
- MySQL中字符串函数详细介绍
- mysql的字符串函数(zz)
- Mysql字符串函数收集
- mysql的几个实用字符串函数
- MySQL——字符串函数
- MySQL的几个实用字符串函数 (转)
- mysql字符串函数
- 整理了下MySQL内置函数表,包括字符串函数、数学函数和日期时间函数
- [SQL] MySql的字符串函数
- mysql的字符串函数
- mysql的字符串函数
- MySQL 字符串函数:字符串截取