一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第25天,点击查看活动详情。
前言
上篇我们又学习了一部分MySQL中的函数。有兴趣的小伙伴可以阅读(# MySQL学习-函数(四))。
下面继续学习MySQL中的函数。
字符串函数
示例一
SELECT TRIM(' h el lo ')
FROM DUAL
| TRIM(' h el lo ') |
|---|
| h el lo |
TRIM函数只去掉字符串前后的空格,字符串中间的空格不去。
示例二
SELECT LTRIM(' h el lo ')
FROM DUAL
| LTRIM(' h el lo ') |
|---|
| h el lo |
LTRIM函数只去掉字符串左面的空格,字符串中间和右面的空格不去。
同样的RTRIM函数只去掉字符串右面的空格,字符串中间和左面的空格不去。
示例三
SELECT TRIM(‘o’ FROM 'ooheollo')
FROM DUAL
| TRIM(‘o’ FROM 'ooheollo') |
|---|
| heoll |
TRIM(s1 FROM s)函数会去除字符串s中首尾是s1的字符。这里字符串'ooheollo'去除前后的‘o’后结果就是‘heoll’。
示例四
SELECT REPEAT('hello', 4)
FROM DUAL
| REPEAT('hello', 4) |
|---|
| hellohellohellohello |
REPEAT函数将字符串重复n遍,这里是4遍。
示例五
SELECT STRCMP('abc', 'abd')
FROM DUAL
| STRCMP('abc', 'abd') |
|---|
| -1 |
STRCMP函数比较两个字符串的大小。这里字符串'abc'比'abd'小,结果是-1。
示例六
SELECT SUBSTR('hello', 2, 2)
FROM DUAL
| SUBSTR('hello', 2, 2) |
|---|
| el |
SUBSTR截取字符串。
示例七
SELECT LOCATE(‘l’, 'hello')
FROM DUAL
| LOCATE(‘l’, 'hello') |
|---|
| 3 |
LOCATE返回字符串再第二个字符串中的位置。如果没有出现,返回0。
示例八
SELECT ELT(2, ‘a’, 'b', ‘c’, 'd')
FROM DUAL
| ELT(2, ‘a’, 'b', ‘c’, 'd') |
|---|
| b |
ELT返回指定位置的字符串,这里返回第二个字符串'b'。
示例九
SELECT FIELD(‘mm’, 'gg', ‘jj’, 'mm')
FROM DUAL
| FIELD(‘mm’, 'gg', ‘jj’, 'mm') |
|---|
| 3 |
FIELD返回第一个参数字符串在后面字符串第一次出现的位置。这里是第三个出现的。
示例十
SELECT FIND_IN_SET(‘mm’, 'gg, mm, jj')
FROM DUAL
| FIND_IN_SET(‘mm’, 'gg, mm, jj') |
|---|
| 2 |
FIND_IN_SET返回第一个字符串在第二个参数字符串列表中的位置,这里是第二个出现的。
示例十一
SELECT NULLIF(‘mm’, 'mm'), NULLIF(‘mm’, 'gg')
FROM DUAL
| NULLIF(‘mm’, 'mm') | NULLIF(‘mm’, 'gg') |
|---|---|
| NULL | mm |
NULLIF函数比较两个字符串,如果相等返回NULL,不相等返回第一个字符串。
今天先学习到这里,明天继续。