SQL字符串截取函数【简笔记】

MySQL提供了多种字符串函数来处理和截取字符串。下面是一些常用的字符串截取函数及其使用示范:

  1. SUBSTRING(str, pos, len)

    • str 是要截取的字符串。
    • pos 是开始截取的位置。
    • len 是截取的长度。

示例:

SELECT SUBSTRING('Hello, World!', 8, 5);  -- 结果: "World"

LEFT(str, len)

返回字符串左边的len个字符。
示例:

SELECT LEFT('Hello, World!', 5);  -- 结果: "Hello"

RIGHT(str, len)
返回字符串右边的len个字符。
示例:

SELECT RIGHT('Hello, World!', 5);  -- 结果: "World"

MID(str, pos, len)
在某些数据库系统中,如SQL Server,用于截取字符串的函数是MID。其用法与SUBSTRING相似。
示例:

SELECT MID('Hello, World!', 8, 5);  -- 结果: "World"

LOCATE(substr, str)
返回子字符串substr在字符串str中首次出现的位置。如果未找到,则返回0。
示例:

SELECT LOCATE('World', 'Hello, World!');  -- 结果: 8

INSTR(str, substr)
返回子字符串substr在字符串str中首次出现的位置,从1开始计数。如果未找到,则返回0。与LOCATE函数类似,但参数顺序不同。
示例:

SELECT INSTR('Hello, World!', 'World');  -- 结果: 8

CHAR_LENGTH(str) 或 CHARACTER_LENGTH(str)
返回字符串的长度。对于多字节字符集(如UTF-8),这可能不同于字节的数量。
示例:

SELECT CHAR_LENGTH('Hello, World!');  -- 结果: 13 (字符数)

LENGTH(str)
返回字符串的字节长度。对于多字节字符集,它返回的是字节数,而不是字符数。
示例:

SELECT LENGTH('Hello, World!');  -- 结果: 12 (字节数) 对于UTF-8编码,'W'和'o'等可能需要多个字节。

REVERSE(str)
返回字符串的反向副本。
示例:

SELECT REVERSE('Hello, World!');  -- 结果: "!dlroW ,olleH"

你可能感兴趣的:(笔记)