MySQL 常用函数 - 字符串

返回字符串的字符数

SELECT CHAR_LENGTH('runoob');
SELECT CHAR_LENGTH('runoob    ');
SELECT CHAR_LENGTH('这是一个');
SELECT CHARACTER_LENGTH('runoob');
SELECT CHARACTER_LENGTH('runoob    ');
SELECT CHARACTER_LENGTH('这是一个');

将多个字符串合并成一个

/** 将多个字符串合并成一个 :我是一句话**/
SELECT CONCAT('我','是一句','话');
/** 将多个字符串合并成一个,第一个参数为分隔符:我 - 是一句 - 话 **/
SELECT CONCAT_WS(' - ','我','是一句','话');

返回字符在字符串中的位置

/** 返回第一个字符串 c 在字符串列表中的位置:3 **/
SELECT FIELD('c','a','b','c','d','e','f','g');
SELECT FIND_IN_SET('c','a,b,c,d,e,f,g');

/** 从 baidu.com 中获取 du 开始的位置:4 **/
SELECT LOCATE('du','baidu.com');


/** 返回 b 在 abcd 中的位置 :2 **/
SELECT POSITION('b' IN 'abcd');

替换字符串

/** 字符串 google 替换 baidu.com 的 1 位置开始长度为 5 的字符串 :google.com **/
SELECT INSERT('baidu.com',1,5,'google');

/** 将字符串 hello的字符 l 替换成 w :hewwo **/
SELECT REPLACE('hello','l','w');

格式化数字添加逗号分隔

/** 函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入:87,654,321.54 **/
SELECT FORMAT(87654321.54321,2);

转换大小写

/** 转为小写:hello **/
SELECT LCASE('HELLO');
SELECT LOWER('HELLO');

/** 转为大写:HELLO **/
SELECT UCASE('hello');
SELECT UPPER('hello');

在字符串中截取字符

/** 返回字符串 hello 的前 2 个字符:he **/
SELECT LEFT('hello',2);
/** 返回 hello 的后两个字符 **/
SELECT RIGHT('hello',2);

/** 从字符串 hello 中的第 2 个位置截取 3个 字符:ell **/
SELECT MID('hello',2,3);
/** abcdefghijk 从 2 位置截取长度为 5 的字符串:bcdef **/
SELECT SUBSTR('abcdefghijk',2,5);
SELECT SUBSTRING('abcdefghijk',2,5);

填充字符

/** 将字符串 xx 填充到 abc 字符串的开始处,直到长度为 10:xxxxxxxabc **/
SELECT LPAD('abc',10,'xx');
/** 将字符串 xx 填充到 abc 字符串的末尾处,直到长度为 10:abcxxxxxxx **/
SELECT RPAD('abc',10,'xx');

删除字符串中的空格

/** 去掉字符串     HELLO开始处的空格:HELLO **/
SELECT LTRIM('    HELLO');
/** 去掉字符串 HELLO     末尾处的空格:HELLO **/
SELECT RTRIM('HELLO     ');
/** 去掉收尾空格 **/
SELECT TRIM('             HELLO             ');

重复字符串

/** 将字符串重复3次:hellohellohello **/
SELECT repeat('hello',3);

反转字符串

/** 反转:dcba **/
SELECT REVERSE('abcd');

返回 N 个空格

/** 返回30个空格 **/
SELECT SPACE(30);

比较字符串

/** 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1 **/
SELECT STRCMP('hello','hello');
SELECT STRCMP('hello1','hello2');/** -1 **/
SELECT STRCMP('hello2','hello1');/** 1 **/
SELECT STRCMP('he','hel');/** -1 **/
SELECT STRCMP('hel','he');/** 1 **/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值