mysql8 字符串函数

一、字符串拼接函数

CONCAT(str1,str2,...) 把字符串str1,str2...连接成一个字符串

SELECT CONCAT('字符串1', '字符串2')
image.png

CONCAT_WS(sep,str1,str2,...) 用指定的分隔符sep连接字符串

SELECT CONCAT_WS('--','字符串1', '字符串2')
image.png

二、字符串长度

CHAR_LENGTH(str) 返回字符串str的字符个数
LENGTH(str) 返回字符串str的字节个数

SELECT class_name, LENGTH(class_name), CHAR_LENGTH(class_name)
FROM imc_class
-- 一个中文占3个字节
image.png

三、字符串格式化

FORMAT(X,D[,locale]) 将数字N格式化为格式,如“##,###,###.##”,并舍入到D位小数

SELECT FORMAT(123456.789,4)
image.png

四、字符串截取函数

LEFT(str,len)/RIGHT(str,len) 从字符串的左/右边起返回len长度的字符串

SELECT LEFT('www.imooc.com', 3)
            ,RIGHT('www.imooc.com',3)
image.png

SUBSTRING(str,pos,[len]) 从字符串str的pos位置起返回长度为len的子串

SELECT SUBSTRING('www.imooc.com', 5)
image.png

SUBSTRING_INDEX(str,delim,count) 返回字符串str按delim分割的前count个字符串

SELECT SUBSTRING_INDEX('192.168.0.100','.',2), SUBSTRING_INDEX('192.168.0.100','.',-2)
-- 正数从左边开始截取   负数从右边开始截取
image.png

LOCATE(substr,str) 在字符串str中返回子串substr第一次出现的位置

SELECT title, 
                LOCATE('-', title),
                SUBSTRING(title, 1, LOCATE('-', title)),
                SUBSTRING(title, 1, LOCATE('-', title) - 1),
                SUBSTRING_INDEX(title, '-', 1)
FROM imc_course
-- SUBSTRING(title, 1, LOCATE('-', title) - 1)和SUBSTRING_INDEX(title, '-', 1)效果一致
image.png

TRIM([remstr FROM] str) 从字符串str两端删除不需要的字符remstr

SELECT TRIM('  imooc '), TRIM('x' FROM 'xxxximoxxocxxx')
image.png

你可能感兴趣的:(mysql8 字符串函数)