MySQL 【字符串】函数大全(三)

LOCATELOWERLPADLTRIM
MIDPOSITIONREPEATREPLACE
1、LOCATE

LOCATE(substr, str, start) :一个字符串在另一个字符串中第一次出现的位置的数字索引。 LOCATE() 函数是不区分大小写的, 与INSTR()函数功能相同。

substr:在 str 中搜索的子串。

str: 被搜索的字符串。

start:可选的。 在 str 中开始搜索的位置,从 1 开始。

  •  如果 start为 0LOCATE() 函数将返回 0
  • 当任意一个参数为 NULL 时, LOCATE() 函数将返回 NULL
SELECT
    LOCATE('He', 'Hello World') AS a,
    LOCATE('he', 'Hello World') AS b,
    LOCATE('wo', 'Hello World') AS c,
    LOCATE('go', 'Hello World') AS d,
    LOCATE(NULL, 'Hello World') AS e,
    LOCATE('l', 'Hello World') AS f,
    LOCATE('l', 'Hello World', 0) AS j,
    LOCATE('l', 'Hello World', 1) AS h,
    LOCATE('l', 'Hello World', 6) AS i

2、LOWER

LOWER(str) :将指定字符串转为小写并返回,与LCASE()函数功能相同。

当参数 str 为 NULL 时, LOWER() 函数将返回 NULL

SELECT LOWER('Hello'), LOWER(NULL);
-- 结果
+----------------+--------------------------+
| LOWER('Hello') | LOWER(NULL)              |
+----------------+--------------------------+
| hello          | NULL                     |
+----------------+--------------------------+

-- 将用户表的用户名转为小写
SELECT LOWER(username) FROM member;
3、LPAD

LPAD(str, len, padstr) :在字符串的左侧填充指定的字符串,使其达到指定的长度;

str:需要被填充的字符串。

len:填充字符串需要达到的长度。

padstr:被用来填充到原字符串左侧的字符串。

  • 如果 len 小于原字符串 str 的长度, str 将被截断到 len 的长度。
  • 如果 len 为负数时,LPAD() 函数将返回 NULL
  • 当任意一个参数为 NULL 时, LPAD() 函数将返回 NULL
SELECT
    LPAD('oh', 10, 'o'),
    LPAD('oh', 1, 'o'),
    LPAD('oh', -1, 'o'),
    LPAD('World', 15, 'Hel')

4、LTRIM

LTRIM(str) :删除指定字符串的左侧空格,并返回没有左侧空格的字符串。

当参数为 NULL 时, LTRIM() 函数将返回 NULL

SELECT LTRIM('   Hello '), LTRIM(NULL);
-- 结果
+--------------------+--------------------------+
| LTRIM('   Hello ') | LTRIM(NULL)              |
+--------------------+--------------------------+
| Hello              | NULL                     |
+--------------------+--------------------------+
5、MID

MID(str, pos, len) :返回一个字符串中从指定位置开始的指定长度的子字符串。

str:从中提取子字符串的原字符串。

pos:开始提取的位置。正数或者负数。

         如果是正数,则从字符串的开头开始提取子字符串。

         如果是负数,则从字符串的结尾提取子字符串。

len:可选的。子字符串的长度(字符数)。如果不指定,则提取到原字符串的结尾。

  • 当 pos 为 0 或者超过原字符串的长度时, MID() 函数将返回空串 ''
  • 当参数为 NULL 时, MID() 函数将返回 NULL
SELECT
    MID('Hello', 1, 2),
    MID('Hello', 2, 2),
    MID('Hello', 1),
    MID('Hello', 1, 8),
    MID('Hello', -1, 2),
    MID('Hello', 8, 2),
    MID('Hello', 0, 2),
    MID('Hello', 0),
    MID(NULL, 1, 1)

6、POSITION

POSITION(sustr IN str) :返回一个字符串在另一个字符串中第一次出现的位置的数字索引。 不区分大小写。 POSITION() 函数与具有两个参数的INSTR()和LOCATE()功能相同。

如果在 str 中找不到 substrPOSITION() 函数将返回 0

当任意一个参数为 NULL 时, POSITION() 函数将返回 NULL

SELECT
    POSITION('He' IN 'Hello World') a,
    POSITION('he' IN 'Hello World') b,
    POSITION('wo' IN 'Hello World') c,
    POSITION('go' IN 'Hello World') d,
    POSITION('l' IN 'Hello World') f,
    POSITION(NULL IN 'Hello World') j,
    POSITION('l' IN NULL) h

7、REPEAT

REPEAT(str, count) :将指定的字符串重复指定的次数并返回。

  • 当 count 为 0 或者负数时, REPEAT() 函数将返回空字符串 ''
  • 当任意一个参数为 NULL 时, REPEAT() 函数将返回 NULL
SELECT
    REPEAT('MySQL', 3),
    REPEAT('Go ', 3),
    REPEAT('MySQL', 0),
    REPEAT('MySQL', -1),
    REPEAT('MySQL', NULL),
    REPEAT(NULL, 3)

8、REPLACE

REPLACE(str, from_str, to_srt) :将字符串中出现的所有子字符串替换为新的子字符串。

  • 当任意一个参数为 NULL 时, REPLACE() 函数将返回 NULL
SELECT
    REPLACE('Hello World', 'World', 'Alice'),
    REPLACE('Hello World', 'l', 'L'),
    REPLACE('Hello World', 'h', 'HH')

MySQL 【字符串】函数大全(二)

MySQL 【字符串】函数大全(四)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值