🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
字符串函数 6、ASCII(str) 返回str字符串中最左边字符的ascii码值,如果是空串则返回0,如果str是null则返回null ~~~ mysql> SELECT ASCII('2'); -> 50 mysql> SELECT ASCII(2); -> 50 mysql> SELECT ASCII('dx'); -> 100 ~~~ 7、CHAR(N,... [USING charset_name]) 将括号中的N转化成ascii码对应的字符,返回这些字符组成的字符串,其中的null会被忽略 ~~~ mysql> SELECT CHAR(77,121,83,81,'76'); -> 'MySQL' mysql> SELECT CHAR(77,77.3,'77.3'); ####小数会忽略 -> 'MMM‘ mysql> SELECT CHARSET(CHAR(X'65')), CHARSET(CHAR(X'65' USING utf8)); #####转换成其他的编码格式 +----------------------+---------------------------------+ | CHARSET(CHAR(X'65')) | CHARSET(CHAR(X'65' USING utf8)) | +----------------------+---------------------------------+ | binary | utf8 | +----------------------+---------------------------------+ ~~~ 8、CHAR_LENGTH(str) 返回字符串的字符长度 9、CONCAT(str1,str2,...) 返回括号里所有参数字符串连接在一起,当其中有参数为NULL时则返回NULL ~~~ mysql> SELECT CONCAT('My', 'S', 'QL'); -> 'MySQL' mysql> SELECT CONCAT('My', NULL, 'QL'); -> NULL mysql> SELECT CONCAT(14.3); -> '14.3' ~~~ 10、CONCAT_WS(separator,str1,str2,...) 返回以第一个参数为分隔符的连接后的一个字符串,当有参数为NULL时则null被忽略 ~~~ mysql> SELECT CONCAT_WS(',','First name','Second name','Last Name'); -> 'First name,Second name,Last Name' mysql> SELECT CONCAT_WS(',','First name',NULL,'Last Name'); -> 'First name,Last Name‘ 示例:select concat_ws(',',id,name,dept_id) from teacher; ~~~ 11、INSERT(str,pos,len,newstr) 将str中从pos位置开始后的len个字符替换成newstr字符串 ~~~ mysql> SELECT INSERT('Quadratic', 3, 4, 'What'); -> 'QuWhattic' mysql> SELECT INSERT('Quadratic', -1, 4, 'What'); -> 'Quadratic' mysql> SELECT INSERT('Quadratic', 3, 100, 'What'); -> 'QuWhat' ~~~ 12、INSTR(str,substr) 返回str字符串中第一个出现substr字符串的位置 ~~~ mysql> SELECT INSTR('foobarbar', 'bar'); -> 4 mysql> SELECT INSTR('xbar', 'foobar'); -> 0 ~~~ 13、LEFT(str,len) 返回str字符串中从左边开始的len个长度的字符 ~~~ mysql> SELECT LEFT('foobarbar', 5); -> 'fooba‘ ~~~ 14、LENGTH(str) ####与char_length不同的是在计算中文字符时计算个数不同。 返回str字符串的byte字节长度 ~~~ mysql> SELECT LENGTH('text'); -> 4 ~~~ 15、LOAD_FILE(file_name) 读取文件且返回文件内容为字符串 ~~~ mysql> UPDATE t SET blob_col=LOAD_FILE('/tmp/picture') WHERE id=1; ~~~ 16、LOCATE(substr,str) 返回str字符串中第一次出现substr字符串的位置,如果没有则返回null ~~~ mysql> SELECT LOCATE('bar', 'foobarbar'); -> 4 mysql> SELECT LOCATE('xbar', 'foobar'); -> 0 ~~~ 17、LOCATE(substr,str,pos) 返回str字符串中从pos位置开始第一次出现substr字符串的位置,如果没有则返回null ~~~ mysql> SELECT LOCATE('bar', 'foobarbar', 5); -> 7 18、LOWER(str) ~~~ 返回将str字符串中所有字符变换成小写后的字符串,但对二进制文本无效 ~~~ mysql> SELECT LOWER('QUADRATICALLY'); -> 'quadratically' mysql> SET @str = BINARY 'New York'; mysql> SELECT LOWER(@str), LOWER(CONVERT(@str USING latin1)); +-------------+-----------------------------------+ | LOWER(@str) | LOWER(CONVERT(@str USING latin1)) | +-------------+-----------------------------------+ | New York | new york | +-------------+-----------------------------------+ ~~~ 19、LPAD(str,len,padstr) 将str的左边补充为padstr,直到补充成len长度的字符串并返回;如果str的长度比len长,则返回str中最左边开始的len长度的字符 ~~~ mysql> SELECT LPAD('hi',4,'??'); -> '??hi' mysql> SELECT LPAD('hi',1,'??'); -> 'h‘ mysql> select lpad(name,10,'tyu') from teacher; +---------------------+ | lpad(name,10,'tyu') | +---------------------+ | NULL | | tyutyutdfe | | tyutyudfes | | tyutyutdgc | | tyutvivian | +---------------------+ 5 rows in set (0.00 sec) mysql> select rpad(name,10,'tyu') from teacher; +---------------------+ | rpad(name,10,'tyu') | +---------------------+ | NULL | | dfetyutyut | | dfestyutyu | | dgctyutyut | | viviantyut | +---------------------+ 5 rows in set (0.00 sec) ~~~ 20、LTRIM(str) /RTRIM 将str最左边的空格去掉并返回 ~~~ mysql> SELECT LTRIM(' barbar'); -> 'barbar‘ ~~~ 21、REPEAT(str,count) 将str重复count并组合成字符串返回,如果count<1,则返回空串 ~~~ mysql> SELECT REPEAT('MySQL', 3); -> 'MySQLMySQLMySQL' ~~~ 22、REPLACE(str,from_str,to_str) 将所有str字符串中匹配from_str子串的地方都替换成to_str子字符串 ~~~ mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww'); -> 'WwWwWw.mysql.com‘ ~~~ 23、REVERSE(str) 将str字符串中的字符按照倒序组合并返回 ~~~ mysql> SELECT REVERSE('abc'); -> 'cba‘ ~~~ 24、RIGHT(str,len) 将str字符串中从右边开始的len个字符返回 ~~~ mysql> SELECT RIGHT('foobarbar', 4); -> 'rbar' ~~~ 25、SPACE(N) 返回N个长度的空格组成的空字符串 ~~~ mysql> SELECT SPACE(6); -> ' ' ~~~ 26、SUBSTR(str,pos), SUBSTR(str FROM pos), SUBSTR(str,pos,len), SUBSTR(str FROM pos FOR len) SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len) 如果没有len参数,则返回从pos位置开始的str中的子字符串;如果有len参数,则从pos位置开始返回str中长度为len的子字符串;如果pos为负值,则代表pos从右边开始数 ~~~ mysql> SELECT SUBSTRING('Quadratically',5); -> 'ratically' mysql> SELECT SUBSTRING('foobarbar' FROM 4); -> 'barbar' mysql> SELECT SUBSTRING('Quadratically',5,6); -> 'ratica' mysql> SELECT SUBSTRING('Sakila', -3); -> 'ila' mysql> SELECT SUBSTRING('Sakila', -5, 3); -> 'aki' mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2); -> 'ki' ~~~ 27、SUBSTRING_INDEX(str,delim,count) 当count为正数,则返回delim出现在str字符串中第count次之前的子字符串,如果是负数,则从右边开始计算 ~~~ mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2); -> 'www.mysql' mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2); -> 'mysql.com‘ ~~~ 28、UPPER(str) 返回将str字符串中所有字符转换成大写的字符串 ~~~ mysql> SELECT UPPER('Hej'); -> 'HEJ‘ ~~~