MySQL 函数参考手册(MySQL 字符串函数)

目录

[MySQL ASCII() 函数](#MySQL ASCII() 函数)

[MySQL CHAR_LENGTH() 函数](#MySQL CHAR_LENGTH() 函数)

[MySQL CHARACTER_LENGTH() 函数](#MySQL CHARACTER_LENGTH() 函数)

[MySQL CONCAT() 函数](#MySQL CONCAT() 函数)

[MySQL CONCAT_WS() 函数](#MySQL CONCAT_WS() 函数)

[MySQL FIELD() 函数](#MySQL FIELD() 函数)

[MySQL FIND_IN_SET() 函数](#MySQL FIND_IN_SET() 函数)

[MySQL FORMAT() 函数](#MySQL FORMAT() 函数)

[MySQL INSERT() 函数](#MySQL INSERT() 函数)

[MySQL INSTR() 函数](#MySQL INSTR() 函数)

[MySQL LCASE() 函数](#MySQL LCASE() 函数)

[MySQL LEFT() 函数](#MySQL LEFT() 函数)

[MySQL LENGTH() 函数](#MySQL LENGTH() 函数)

[MySQL LOCATE() 函数](#MySQL LOCATE() 函数)

[MySQL LOWER() 函数](#MySQL LOWER() 函数)

[MySQL LPAD() 函数](#MySQL LPAD() 函数)

[MySQL LTRIM() 函数](#MySQL LTRIM() 函数)

[MySQL MID() 函数](#MySQL MID() 函数)

[MySQL POSITION() 函数](#MySQL POSITION() 函数)

[MySQL REPEAT() 函数](#MySQL REPEAT() 函数)

[MySQL REPLACE() 函数](#MySQL REPLACE() 函数)

[MySQL REVERSE() 函数](#MySQL REVERSE() 函数)

[MySQL RIGHT() 函数](#MySQL RIGHT() 函数)

[MySQL RPAD() 函数](#MySQL RPAD() 函数)

[MySQL RTRIM() 函数](#MySQL RTRIM() 函数)

[MySQL SPACE() 函数](#MySQL SPACE() 函数)

[MySQL STRCMP() 函数](#MySQL STRCMP() 函数)

[MySQL SUBSTR() 函数](#MySQL SUBSTR() 函数)

[MySQL SUBSTRING() 函数](#MySQL SUBSTRING() 函数)

[MySQL SUBSTRING_INDEX() 函数](#MySQL SUBSTRING_INDEX() 函数)

[MySQL TRIM() 函数](#MySQL TRIM() 函数)

[MySQL UCASE() 函数](#MySQL UCASE() 函数)

[MySQL UPPER() 函数](#MySQL UPPER() 函数)


MySQL ASCII() 函数

【实例】

返回"CustomerName"中第一个字符的 ASCII 值:

sql 复制代码
SELECT ASCII(CustomerName) AS NumCodeOfFirstChar
FROM Customers;

【定义和用法】

ASCII() 函数返回特定字符的 ASCII 值。

【语法】

sql 复制代码
ASCII(character)

【参数值】

参数 描述
character 必需。要为其返回 ASCII 值的字符。 如果输入多个字符,则只返回第一个字符的值

【技术细节】

适用于: From MySQL 4.0

MySQL CHAR_LENGTH() 函数

【实例】

返回字符串的长度:

sql 复制代码
SELECT CHAR_LENGTH("SQL Tutorial") AS LengthOfString;

【定义和用法】

CHAR_LENGTH() 函数返回字符串的长度(以字符为单位)。

​注:此函数等同于 CHARACTER_LENGTH() 函数。

【语法】

sql 复制代码
CHAR_LENGTH(string)

【参数值】

参数 描述
string 必需。计算长度的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

返回"CustomerName"列中文本的长度:

sql 复制代码
SELECT CHAR_LENGTH(CustomerName) AS LengthOfName
FROM Customers;

MySQL CHARACTER_LENGTH() 函数

【实例】

返回字符串的长度:

sql 复制代码
SELECT CHARACTER_LENGTH("SQL Tutorial") AS LengthOfString;

【定义和用法】

CHARACTER_LENGTH() 函数返回字符串的长度(以字符为单位)。

注:此函数等同于 CHAR_LENGTH() 函数。

【语法】

sql 复制代码
CHARACTER_LENGTH(string)

【参数值】

参数 描述
string 必需。要计算长度的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

返回"CustomerName"列中文本的长度:

sql 复制代码
SELECT CHARACTER_LENGTH(CustomerName) AS LengthOfName
FROM Customers;

MySQL CONCAT() 函数

【实例】

将几个字符串加在一起:

sql 复制代码
SELECT CONCAT("SQL ", "Tutorial ", "is ", "fun!") AS ConcatenatedString;

【定义和用法】

CONCAT() 函数将两个或多个表达式相加。

注:还请查看 CONCAT_WS() 函数。

【语法】

sql 复制代码
CONCAT(expression1, expression2, expression3,...)

【参数值】

参数 描述
expression1, expression2, expression3, etc. 必需。要加在一起的表达式。 注:如果任何表达式为 NULL 值,则返回 NULL

【技术细节】

适用于: From MySQL 4.0

【实例】

将三列添加到一个"Address"列中:

sql 复制代码
SELECT CONCAT(Address, " ", PostalCode, " ", City) AS Address
FROM Customers;

MySQL CONCAT_WS() 函数

【实例】

将几个表达式加在一起,并在它们之间添加一个 "-" 分隔符:

sql 复制代码
SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!") AS ConcatenatedString;

【定义和用法】

CONCAT_WS() 函数将两个或多个表达式与分隔符相加。

注: 还要查看 CONCAT() 函数。

【语法】

sql 复制代码
CONCAT_WS(separator, expression1, expression2, expression3,...)

【参数值】

参数 描述
separator 必需。在每个表达式之间添加的分隔符。 如果 separator 为 NULL,则此函数返回 NULL
表达式1、 表达式2、 表达式3、 等 必须。要加在一起的表达式。 将跳过具有 NULL 值的表达式

【技术细节】

适用于: From MySQL 4.0

【实例】

将三列(并在它们之间添加一个空格)添加到一个"地址"列中:

sql 复制代码
SELECT CONCAT_WS(" ", Address, PostalCode, City) AS Address
FROM Customers;

MySQL FIELD() 函数

【实例】

返回 "q" 在字符串列表中的索引位置:

sql 复制代码
SELECT FIELD("q", "s", "q", "l");

【定义和用法】

FIELD() 函数返回值在值列表中的索引位置。

此函数执行不区分大小写的搜索。

注:如果在值列表中找不到指定的值,此函数将返回 0。如果值为 NULL,此函数将返回 0。

【语法】

sql 复制代码
FIELD(value, val1, val2, val3, ...)

【参数值】

参数 描述
value 必需。要在列表中搜索的值
val1 , val2 , val3, .... 必需。要搜索的值列表

【技术细节】

适用于: From MySQL 4.0

【实例】

返回 "c" 在字符串列表中的索引位置:

sql 复制代码
SELECT FIELD("c", "a", "b");

【实例】

返回 "Q" 在字符串列表中的索引位置:

sql 复制代码
SELECT FIELD("Q", "s", "q", "l");

【实例】

返回5在数字列表中的索引位置:

sql 复制代码
SELECT FIELD(5, 0, 1, 2, 3, 4, 5);

MySQL FIND_IN_SET() 函数

【实例】

在字符串列表中搜索"q":

sql 复制代码
SELECT FIND_IN_SET("q", "s,q,l");

【定义和用法】

FIND_IN_SET() 函数返回字符串在字符串列表中的位置。

【语法】

sql 复制代码
FIND_IN_SET(string, string_list)

【参数值】

参数 描述
string 必需。 要搜索的字符串
string_list 必须。要搜索的字符串值列表(逗号分隔)

【返回值】

  • 如果在string_list 中没有找到string,这个函数返回0
  • 如果 stringstring_list 为 NULL,则此函数返回 NULL
  • 如果string_list是一个空字符串(""),这个函数返回0

【技术细节】

适用于: From MySQL 4.0

【实例】

在字符串列表中搜索"a":

sql 复制代码
SELECT FIND_IN_SET("a", "s,q,l");

【实例】

在字符串列表中搜索"q"(字符串列表为NULL):

sql 复制代码
SELECT FIND_IN_SET("q", null);

MySQL FORMAT() 函数

【实例】

将数字格式化为"#,###,###.##" (并保留两位小数):

sql 复制代码
SELECT FORMAT(250500.5634, 2);

【定义和用法】

FORMAT() 函数将数字格式化为像"#,###,###.##"这样的格式,四舍五入到指定的小数位数,然后将结果作为字符串返回。

【语法】

sql 复制代码
FORMAT(number, decimal_places)

【参数值】

参数 描述
number 必需。要格式化的数字
decimal_places 必需。*number的小数位数。*如果该参数为0,则该函数返回一个没有小数位的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将数字格式化为"#,###,###.##"的格式 (并以 0 位小数进行四舍五入):

sql 复制代码
SELECT FORMAT(250500.5634, 0);

MySQL INSERT() 函数

【实例】

将字符串"Example"插入字符串"W3Schools.cn"。 替换前九个字符:

sql 复制代码
SELECT INSERT("W3Schools.cn", 1, 9, "Example");

【定义和用法】

INSERT() 函数在字符串中的指定位置插入一个字符串,并插入一定数量的字符。

【语法】

sql 复制代码
INSERT(string, position, number, string2)

【参数值】

参数 描述
string 必需。将要修改的字符串
position 必需。插入string2
number 必需。要替换的字符数
string2 必需。要插入到string

【技术细节】

适用于: From MySQL 4.0

【实例】

将字符串"no"插入字符串"W3Schools.cn"。 替换三个字符,从位置 11 开始:

sql 复制代码
SELECT INSERT("W3Schools.cn", 11, 3, "no");

MySQL INSTR() 函数

【实例】

在字符串"W3Schools.cn"中搜索"3",返回位置:

sql 复制代码
SELECT INSTR("W3Schools.cn", "3") AS MatchPosition;

【定义和用法】

INSTR() 函数返回一个字符串在另一个字符串中第一次出现的位置。

此函数执行不区分大小写的搜索。

【语法】

sql 复制代码
INSTR(string1, string2)

【参数值】

参数 描述
string1 必需。将要搜索的字符串
string2 必需。要在 string1 中搜索的字符串。 如果没有找到string2,这个函数返回0

【技术细节】

适用于: From MySQL 4.0

【实例】

在字符串"W3Schools.cn"中搜索"cn",返回位置:

sql 复制代码
SELECT INSTR("W3Schools.cn", "cn") AS MatchPosition;

【实例】

在CustomerName列搜索"a",返回位置:

sql 复制代码
SELECT INSTR(CustomerName, "a")
FROM Customers;

MySQL LCASE() 函数

【实例】

将文本转换为小写:

sql 复制代码
SELECT LCASE("SQL Tutorial is FUN!");

【定义和用法】

LCASE() 函数将字符串转换为小写。

注: LOWER() 函数是 LCASE() 函数的同义词。

【语法】

sql 复制代码
LCASE(text)

【参数值】

参数 描述
text 必需。要转换的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将"CustomerName"中的文本转换为小写:

sql 复制代码
SELECT LCASE(CustomerName) AS LowercaseCustomerName
FROM Customers;

MySQL LEFT() 函数

【实例】

从字符串中提取3个字符(从左开始):

sql 复制代码
SELECT LEFT("SQL Tutorial", 3) AS ExtractString;

【定义和用法】

LEFT() 函数从字符串中提取多个字符(从左开始)。

提示:同时查看RIGHT()函数。

【语法】

sql 复制代码
LEFT(string, number_of_chars)

【参数值】

参数 描述
string 必需。要从中提取的字符串
number_of_chars 必需。要提取的字符数。 如果该参数大于string 中的字符数,该函数将返回string

【技术细节】

适用于: From MySQL 4.0

【实例】

从"CustomerName"列的文本中提取5个字符(从左开始):

sql 复制代码
SELECT LEFT(CustomerName, 5) AS ExtractString
FROM Customers;

MySQL LENGTH() 函数

【实例】

返回字符串的长度,以字节为单位:

sql 复制代码
SELECT LENGTH("SQL Tutorial") AS LengthOfString;

【定义和用法】

LENGTH() 函数返回字符串的长度(以字节为单位)。

【语法】

sql 复制代码
LENGTH(string)

【参数值】

参数 描述
string 必需。计算长度的字符串

【技术细节】

适用于: From MySQL 4.0

返回"CustomerName"列中文本的长度,以字节为单位:

sql 复制代码
SELECT LENGTH(CustomerName) AS LengthOfName
FROM Customers;

MySQL LOCATE() 函数

【实例】

在字符串"W3Schools.cn"中搜索"3",返回位置:

sql 复制代码
SELECT LOCATE("3", "W3Schools.cn") AS MatchPosition;

【定义和用法】

LOCATE() 函数返回字符串中子字符串第一次出现的位置。

如果在原始字符串中找不到子字符串,则此函数返回 0。

此函数执行不区分大小写的搜索。

注:此函数等同于 POSITION() 函数。

【语法】

sql 复制代码
LOCATE(substring, string, start)

【参数值】

参数 描述
substring 必需。要在 string
string 必需。要搜索的字符串
start 可选。 搜索的起始位置。 位置 1 为默认值

【技术细节】

适用于: From MySQL 4.0

【实例】

在字符串"W3Schools.cn"中搜索"cn"(从位置3开始),返回位置:

sql 复制代码
SELECT LOCATE("cn", "W3Schools.cn", 3) AS MatchPosition;

【实例】

在 CustomerName 列搜索"a",返回位置:

sql 复制代码
SELECT LOCATE("a", CustomerName)
FROM Customers;

MySQL LOWER() 函数

【实例】

将文本转换为小写:

sql 复制代码
SELECT LOWER("SQL Tutorial is FUN!");

【定义和用法】

LOWER() 函数将字符串转换为小写。

注: LCASE() 函数等于 LOWER() 函数。

【语法】

sql 复制代码
LOWER(text)

【参数值】

参数 描述
text 必需。要转换的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将"CustomerName"中的文本转换为小写:

sql 复制代码
SELECT LOWER(CustomerName) AS LowercaseCustomerName
FROM Customers;

MySQL LPAD() 函数

【实例】

用 "ABC" 向左填充字符串,总长度为 20:

sql 复制代码
SELECT LPAD("SQL Tutorial", 20, "ABC");

【定义和用法】

LPAD() 函数用另一个字符串向左填充一个字符串,达到一定的长度。

注:还请查看 RPAD() 函数。

【语法】

sql 复制代码
LPAD(string, length, lpad_string)

【参数值】

参数 描述
string 必需。原始字符串。 如果原始字符串的长度大于 length 参数,此函数将删除 string
length 必需。 左填充后的字符串长度
lpad_string 必需。左填充到 string 的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

在"CustomerName"中的文本左填充 "ABC",总长度为30:

sql 复制代码
SELECT LPAD(CustomerName, 30, "ABC") AS LeftPadCustomerName
FROM Customers;

MySQL LTRIM() 函数

【实例】

从字符串中删除前导空格:

sql 复制代码
SELECT LTRIM("     SQL Tutorial") AS LeftTrimmedString;

【定义和用法】

LTRIM() 函数从字符串中删除前导空格。

【语法】

sql 复制代码
LTRIM(string)

【参数值】

参数 描述
string 必需。删除前导空格的字符串

【技术细节】

适用于: From MySQL 4.0

MySQL MID() 函数

【实例】

从字符串中提取子字符串(从位置5开始,提取3个字符):

sql 复制代码
SELECT MID("SQL Tutorial", 5, 3) AS ExtractString;

【定义和用法】

MID() 函数从字符串中提取子字符串(从任意位置开始)。

注: MID() 和 SUBSTR() 函数等于 SUBSTRING() 函数。

【语法】

sql 复制代码
MID(string, start, length)

【参数值】

参数 描述
string 必需。要从中提取的字符串
start 必需。 起始位置。 可以是正数或负数。 如果是正数,则此函数从字符串的开头提取。 如果是负数,此函数从字符串的末尾提取
length 必需。要提取的字符数

【技术细节】

适用于: From MySQL 4.0

【实例】

从列中的文本中提取一个子字符串(从位置 2 开始,提取 5 个字符):

sql 复制代码
SELECT MID(CustomerName, 2, 5) AS ExtractString
FROM Customers;

【实例】

从字符串中提取子串(从末尾开始,位置-5,提取5个字符):

sql 复制代码
SELECT MID("SQL Tutorial", -5, 5) AS ExtractString;

MySQL POSITION() 函数

【实例】

在字符串"W3Schools.cn"中搜索"3",返回位置:

sql 复制代码
SELECT POSITION("3" IN "W3Schools.cn") AS MatchPosition;

【定义和用法】

POSITION() 函数返回字符串中子字符串第一次出现的位置。

如果在原始字符串中找不到子字符串,则此函数返回 0。

此函数执行不区分大小写的搜索。

注: LOCATE() 函数等同于 POSITION() 函数。

【语法】

sql 复制代码
POSITION(substring IN string)

【参数值】

参数 描述
substring 必需。要在 string 中搜索的子字符串
string 必需。将被搜索的原始字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

在字符串"W3Schools.cn"中搜索"cn",返回位置:

sql 复制代码
SELECT POSITION("cn" IN "W3Schools.cn") AS MatchPosition;

【实例】

在CustomerName列搜索"a",返回位置:

sql 复制代码
SELECT POSITION("a" IN CustomerName)
FROM Customers;

MySQL REPEAT() 函数

【实例】

重复一个字符串 3 次:

sql 复制代码
SELECT REPEAT("SQL Tutorial", 3);

【定义和用法】

REPEAT() 函数将字符串重复指定的次数。

【语法】

sql 复制代码
REPEAT(string, number)

【参数值】

参数 描述
string 必需。要重复的字符串
number 必需。重复字符串的次数

【技术细节】

适用于: From MySQL 4.0

【实例】

将 CustomerName 中的文本重复 2 次:

sql 复制代码
SELECT REPEAT(CustomerName, 2)
FROM Customers;

【实例】

重复字符串0次:

sql 复制代码
SELECT REPEAT("SQL Tutorial", 0);

MySQL REPLACE() 函数

【实例】

将 "SQL" 替换为 "HTML":

sql 复制代码
SELECT REPLACE("SQL Tutorial", "SQL", "HTML");

【定义和用法】

REPLACE() 函数将字符串中所有出现的子字符串替换为新的子字符串。

注:此函数执行区分大小写的替换。

【语法】

sql 复制代码
REPLACE(string, from_string, new_string)

【参数值】

参数 描述
string 必需。原字符串
from_string 必需。要替换的子字符串
new_string 必需。新的替换子字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将 "X" 替换为 "M":

sql 复制代码
SELECT REPLACE("XYZ FGH XYZ", "X", "M");

【实例】

将 "X" 替换为 "m":

sql 复制代码
SELECT REPLACE("XYZ FGH XYZ", "X", "m");

【实例】

将 "x" 替换为 "m":

sql 复制代码
SELECT REPLACE("XYZ FGH XYZ", "x", "m");

MySQL REVERSE() 函数

【实例】

反转一个字符串:

sql 复制代码
SELECT REVERSE("SQL Tutorial");

【定义和用法】

REVERSE() 函数反转字符串并返回结果。

【语法】

sql 复制代码
REVERSE(string)

【参数值】

参数 描述
string 必需。要反转的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

反转 CustomerName 中的文本:

sql 复制代码
SELECT REVERSE(CustomerName)
FROM Customers;

MySQL RIGHT() 函数

【实例】

从字符串中提取4个字符(从右开始):

sql 复制代码
SELECT RIGHT("SQL Tutorial is cool", 4) AS ExtractString;

【定义和用法】

RIGHT() 函数从字符串中提取多个字符(从右开始)。

注:同时查看LEFT()函数。

【语法】

sql 复制代码
RIGHT(string, number_of_chars)

【参数值】

参数 描述
string 必需。要从中提取的字符串
number_of_chars 必需。要提取的字符数。 如果该参数大于string 中的字符数,该函数将返回string

【技术细节】

适用于: From MySQL 4.0

【实例】

从 "CustomerName" 列的文本中提取5个字符(从右开始):

sql 复制代码
SELECT RIGHT(CustomerName, 5) AS ExtractString
FROM Customers;

MySQL RPAD() 函数

【实例】

用"ABC"右填充字符串,总长度为 20:

sql 复制代码
SELECT RPAD("SQL Tutorial", 20, "ABC");

【定义和用法】

RPAD() 函数将一个字符串与另一个字符串右填充到一定长度。

注:还请查看 LPAD() 函数。

【语法】

sql 复制代码
RPAD(string, length, rpad_string)

【参数值】

参数 描述
string 必需。原始字符串。 如果原始字符串的长度大于 length 参数,此函数将删除 string
长度 必需。右填充后的字符串长度
rpad_string 必需。要右填充到string

【技术细节】

适用于: From MySQL 4.0

【实例】

在"CustomerName"中的文本右填充 "ABC",总长度为30:

sql 复制代码
SELECT RPAD(CustomerName, 30, "ABC") AS RightPadCustomerName
FROM Customers;

MySQL RTRIM() 函数

【实例】

从字符串中删除尾随空格:

sql 复制代码
SELECT RTRIM("SQL Tutorial     ") AS RightTrimmedString;

【定义和用法】

RTRIM() 函数从字符串中删除尾随空格。

【语法】

sql 复制代码
RTRIM(string)

【参数值】

参数 描述
string 必需。删除尾随空格的字符串

【技术细节】

适用于: From MySQL 4.0

MySQL SPACE() 函数

【实例】

返回一个包含 10 个空格字符的字符串:

sql 复制代码
SELECT SPACE(10);

【定义和用法】

SPACE() 函数返回指定数量的空格字符的字符串。

【语法】

sql 复制代码
SPACE(number)

【参数值】

参数 描述
number 必需。返回的空格字符数

【技术细节】

适用于: From MySQL 4.0

MySQL STRCMP() 函数

【实例】

比较两个字符串:

sql 复制代码
SELECT STRCMP("SQL Tutorial", "SQL Tutorial");

【定义和用法】

STRCMP() 函数比较两个字符串。

【语法】

sql 复制代码
STRCMP(string1, string2)

【参数值】

参数 描述
string1, string2 必需。要比较的两个字符串

【返回值】

  • 如果string1 = string2,这个函数返回0
  • 如果 string1 < string2,这个函数返回-1
  • 如果 string1 > string2,这个函数返回1

【技术细节】

适用于: From MySQL 4.0

【实例】

比较两个字符串:

sql 复制代码
SELECT STRCMP("SQL Tutorial", "HTML Tutorial");

MySQL SUBSTR() 函数

【实例】

从字符串中提取子字符串(从位置5开始,提取3个字符):

sql 复制代码
SELECT SUBSTR("SQL Tutorial", 5, 3) AS ExtractString;

【定义和用法】

SUBSTR() 函数从字符串中提取子字符串(从任意位置开始)。

注: SUBSTR() 和 MID() 函数等于 SUBSTRING( ) 函数。

【语法】

sql 复制代码
SUBSTR(string, start, length)

或者:

sql 复制代码
SUBSTR(string FROM start FOR length)

【参数值】

参数 描述
string 必需。要从中提取的字符串
start 必需。起始位置。 可以是正数或负数。 如果是正数,则此函数从字符串的开头提取。 如果是负数,此函数从字符串的末尾提取
length 可选。要提取的字符数。 如果省略,将返回整个字符串(从 start 位置开始)

【技术细节】

适用于: From MySQL 4.0

【实例】

从列中的文本中提取一个子字符串(从位置 2 开始,提取 5 个字符):

sql 复制代码
SELECT SUBSTR(CustomerName, 2, 5) AS ExtractString
FROM Customers;

【实例】

从字符串中提取子串(从末尾开始,位置-5,提取5个字符):

sql 复制代码
SELECT SUBSTR("SQL Tutorial", -5, 5) AS ExtractString;

MySQL SUBSTRING() 函数

【实例】

从字符串中提取子字符串(从位置5开始,提取3个字符):

sql 复制代码
SELECT SUBSTRING("SQL Tutorial", 5, 3) AS ExtractString;

【定义和用法】

SUBSTRING() 函数从字符串中提取子字符串(从任意位置开始)。

注: SUBSTR() 和 MID() 函数等于 到 SUBSTRING() 函数。

【语法】

sql 复制代码
SUBSTRING(string, start, length)

或者:

sql 复制代码
SUBSTRING(string FROM start FOR length)

【参数值】

参数 描述
string 必需。要从中提取的字符串
start 必需。 起始位置。 可以是正数也可以是负数。如果是正数,此函数从字符串的开头提取。 如果是负数,此函数从字符串的末尾提取
length 可选。要提取的字符数。 如果省略,将返回整个字符串(从 start 位置开始)

【技术细节】

适用于: From MySQL 4.0

【实例】

从列中的文本中提取一个子字符串(从位置 2 开始,提取 5 个字符):

sql 复制代码
SELECT SUBSTRING(CustomerName, 2, 5) AS ExtractString
FROM Customers;

【实例】

从字符串中提取子串(从末尾开始,位置-5,提取5个字符):

sql 复制代码
SELECT SUBSTRING("SQL Tutorial", -5, 5) AS ExtractString;

MySQL SUBSTRING_INDEX() 函数

【实例】

在出现指定数量的分隔符之前返回字符串的子字符串:

sql 复制代码
SELECT SUBSTRING_INDEX("www.w3schools.cn", ".", 1);

【定义和用法】

SUBSTRING_INDEX() 函数返回一个字符串在出现指定数量的分隔符之前的子字符串。

【语法】

sql 复制代码
SUBSTRING_INDEX(string, delimiter, number)

【参数值】

参数 描述
string 必需。原字符串
delimiter 必需。要搜索的分隔符
number 必需。搜索delimiter 分隔符可以是正数或负数。 如果它是一个正数,这个函数返回所有到delimiter 分隔符的左边。 如果是负数,这个函数返回delimiter分隔符右边的所有。

【技术细节】

适用于: From MySQL 4.0

【实例】

在出现指定数量的分隔符之前返回字符串的子字符串:

sql 复制代码
SELECT SUBSTRING_INDEX("www.w3schools.cn", ".", 2);

MySQL TRIM() 函数

【实例】

从字符串中删除前导和尾随空格:

sql 复制代码
SELECT TRIM('    SQL Tutorial    ') AS TrimmedString;

【定义和用法】

TRIM() 函数从字符串中删除前导和尾随空格。

【语法】

sql 复制代码
TRIM(string)

【参数值】

参数 描述
string 必需。要从中删除前导和尾随空格的字符串

【技术细节】

适用于: From MySQL 4.0

MySQL UCASE() 函数

【实例】

将文本转换为大写:

sql 复制代码
SELECT UCASE("SQL Tutorial is FUN!");

【定义和用法】

UCASE() 函数将字符串转换为大写。

注:此函数等同于 UPPER() 函数。

【语法】

sql 复制代码
UCASE(text)

【参数值】

参数 描述
text 必需。要转换的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将"CustomerName"中的文本转换为大写:

sql 复制代码
SELECT UCASE(CustomerName) AS UppercaseCustomerName
FROM Customers;

MySQL UPPER() 函数

【实例】

将文本转换为大写:

sql 复制代码
SELECT UPPER("SQL Tutorial is FUN!");

【定义和用法】

UPPER() 函数将字符串转换为大写。

注:此函数等同于 UCASE() 函数。

【语法】

sql 复制代码
UPPER(text)

【参数值】

参数 描述
text 必需。要转换的字符串

【技术细节】

适用于: From MySQL 4.0

【实例】

将"CustomerName"中的文本转换为大写:

sql 复制代码
SELECT UPPER(CustomerName) AS UppercaseCustomerName
FROM Customers;
相关推荐
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
冷眼看人间恩怨3 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
独行soc3 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
清平乐的技术专栏4 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
cmdch20179 小时前
Mybatis加密解密查询操作(sql前),where要传入加密后的字段时遇到的问题
数据库·sql·mybatis
Hejjon9 小时前
SpringBoot 整合 SQLite 数据库
笔记
程序猿小柒9 小时前
【Spark】Spark SQL执行计划-精简版
大数据·sql·spark
听见~11 小时前
SQL优化
数据库·sql
西洼工作室11 小时前
【java 正则表达式 笔记】
java·笔记·正则表达式