前言
这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。
字符串函数
参考:https://www.runoob.com/mysql/mysql-functions.html
ASCII
返回字符串的第一个字符的ASCII
码
SELECT ASCII(field) FROM Table;
CHAR_LENGTH
返回字段字符串的个数
SELECT CHAR_LENGTH("str") as str;
CHARACTER_LENGTH
返回字段字符串的个数
SELECT CHARACTER_LENGTH("str") as str;
CONCAT
将多个字符串进行组合,支持字段和字符串
SELECT CONCAT(field, str1, str2...) from Table;
CONCAT_WS
使用分隔符组合多个字符,分隔符为第一个参数,支持字段和字符串
SELECT CONCAT_WS('-', 'a', field) from Table;
FIELD
返回传入第一个参数字符串在后续给定参数中的位置
SELECT FIELD(str, 'pos1', 'pos2'...) as index;
SELECT FIELD(field, 'pos1', 'pos2'...) from Table;
FIND_IN_SET
找出第一个参数在后续所处字符串中的位置,第二个参数为查找集合,以逗号分隔的字符串表示a,b,c,d,e
相当于Python字符串查找函数find
SELECT FIND_IN_SET(str, "position");
INSERT
在字符串指定位置插入并覆盖指定个数的新字符串
SELECT INSERT(source_str, start, end, dist_str);
比如替换某字符串的前三个字符为新的
SELECT INSERT('this is a test str', 1, 2, '*a*b*c')
结果将会是覆盖原字符串前两个字符,并且将第四个参数插入字符串
*a*b*cis is a test str
在字符串第五个位置开始插入字符,但不覆盖任何字符
SELECT INSERT('this is a test str', 5, 0, '*a*b*c')
this*a*b*c is a test str
LOCATE
查找在字符串中目标字符串出现的开始位置
SELECT LOCATE('dc','ab1231dcadas')
7
LEFT
返回字符串的前n
个字符
SELECT LEFT(field, 2) from Table;
SELECT LEFT(str, 2);
LOWER
将字符串中所有的字母变为小写
SELECT LOWER(field) from Table;
SELECT LOWER(str);
LPAD
字符串左侧起点开始填充字符,并达到指定长度
SELECT LPAD(field, 10, '0') from Table;
LTRIM
去掉字符串左侧起点处的空格
SELECT LTRIM(' aaaaa');
aaaaa
MID
从字符串指定位置开始截取指定个数的字符
SELECT MID('aaabbbccc', 2, 5)
aabbb
POSITION
返回字符串中某字符的所处位置
SELECT POSITION(char in str);
REPEAT
重复字符串指定个数
SELECT REPEAT('str', 2);
strstr
REPLACE
将字符串中的指定内容替换为新的
SELECT REPLACE(source, char, replaced)
SELECT REPLACE('a*b*c*', '*', '-')
a-b-c-
REVERSE
将字符串逆置
SELECT REVERSE(str);
RIGHT
返回字符串从右开始的指定个数的字符
SELECT RIGHT('abcdef', 2);
ef
RPAD
字符串右侧起点开始填充字符,并达到指定长度
SELECT RPAD('abc', 5, '-');
abc--
RTRIM
从除字符串右侧删除空格
SELECT RTRIM(' AAAA ');
AAAA
SPACE
返回指定个数的空格
SELECT SPACE(10);
STRCMP
比较两个字符串是否相同,相同返回0,第一个字符串大于第二个返回1,反之返回-1
SELECT STRCMP('aaa', 'aaa');
0
SUBSTR
从字符串指定位置开始截取指定长度的字符
SELECT SUBSTR('abcdef', 2, 3);
bcd
TRIM
去掉字符串开始和结尾处的空格
SELECT TRIM(' AAA ');
AAA
UPPER
字符串字符变大写
SELECT UPPER(str);
SUBSTRING_INDEX
SUBSTRING_INDEX(s, delimiter, number)
返回字符串s
在第number
个delimiter
后的子字符串
如果
number
是正数,从前往后数,反之,从后往前数指定number
个数的delimiter
SELECT SUBSTRING_INDEX('a*das*123', '*', -1);
123
SELECT SUBSTRING_INDEX('a*das*123', '*', 2);
a*das