MySQL学习-函数(五)

148 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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')
NULLmm

NULLIF函数比较两个字符串,如果相等返回NULL,不相等返回第一个字符串。

今天先学习到这里,明天继续。