MySQL LEFT函数
简介:在本教程中,您将学习如何使用MySQL LEFT函数返回具有指定长度的字符串的左侧部分。
MySQL LEFT函数简介
LEFT函数是一个字符串函数,它以指定的长度返回字符串的左部分。
下面显示了LEFT函数的语法。
LEFT(str,length);
LEFT函数接受两个参数:
str是您要提取子字符串的字符串。
长度是一个正整数,指定将返回的字符数。
LEFT函数返回str字符串中最左边的字符。
如果str或length参数为NULL,则返回NULL值。
如果长度为零或负数,则LEFT函数将返回一个空字符串。
如果该长度大于str字符串的长度,则LEFT函数将返回整个str字符串。
请注意,SUBSTRING(或SUBSTR)函数还提供与LEFT函数相同的功能。
MySQL LEFT函数示例
将MySQL LEFT函数与文字字符串示例结合使用
以下语句使用LEFT函数返回字符串MySQL LEFT的最左边5个字符。
SELECT LEFT('MySQL LEFT', 5);
以下语句返回整个字符串,因为长度超过了字符串的长度。
SELECT LEFT('MySQL LEFT', 9999);
由于长度为零或负数,因此以下语句返回空字符串。
SELECT LEFT('MySQL LEFT', 0); SELECT LEFT('MySQL LEFT', -2);
以下语句返回NULL值,因为长度为NULL
SELECT LEFT('MySQL LEFT', NULL);
在列示例中使用MySQL LEFT函数
让我们看一下示例数据库中的产品表。
假设您要在目录上显示产品名称和产品描述。
产品说明很长,因此,您只需要显示前50个字符即可。
以下语句使用LEFT函数返回产品说明的前50个字符。
SELECT productname, LEFT(productDescription, 50) summary FROM products;
LEFT函数返回前50个字符。
它不在乎单词。
您希望获得前50个字符而不在中间切单词。
为此,请使用以下步骤:
1)使用productDescription列的最左边50个字符。
SELECT LEFT(productdescription, 50) FROM products;
2)使用REVERSE函数反转子字符串。
SELECT REVERSE(LEFT(productdescription, 50)) FROM products;
3)使用LOCATE函数获得反向子字符串中第一个空格的位置。
SELECT LOCATE(' ',REVERSE(LEFT(productdescription, 50))) first_space_pos FROM products;
4)从该位置减去-1。
如果找不到任何空间,请将位置保持为零。
SELECT IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0) FROM products;
5)从50减去头寸,您得到了头寸。
我们称其为last_space_pos。
SELECT productDescription, (50 - IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0)) last_space_pos FROM products;
6)使用产品说明中最左边的last_space_pos字符。
SELECT productDescription, LEFT(productDescription, last_space_pos) FROM (SELECT productDescription, (50 - IFNULL(NULLIF(LOCATE(' ', REVERSE(LEFT(productDescription, 50))), 0) - 1, 0)) last_space_pos FROM products) AS t;
在本教程中,您学习了如何使用LEFT函数返回具有指定长度的字符串的左侧部分。