LEFT()
是 MySQL 中的一个字符串函数,用于从字符串的左侧提取指定数量的字符。其基本语法如下:
LEFT(str, len)
str
:要处理的字符串。len
:要提取的字符数。LEFT()
函数主要用于字符串操作,属于 MySQL 中的聚合函数类别。
假设有一个表 users
,其中有一个字段 phone
存储电话号码:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
phone VARCHAR(20)
);
INSERT INTO users (id, name, phone) VALUES
(1, 'Alice', '123-456-7890'),
(2, 'Bob', '987-654-3210'),
(3, 'Charlie', '555-123-4567');
我们可以使用 LEFT()
函数提取电话号码的前三个字符(区号):
SELECT id, name, LEFT(phone, 3) AS area_code
FROM users;
原因:当 len
参数大于字符串的实际长度时,LEFT()
函数会返回整个字符串。
解决方法:在使用 LEFT()
函数之前,可以先检查字符串的长度,确保 len
参数不超过字符串长度。
SELECT id, name,
CASE WHEN LENGTH(phone) >= 3 THEN LEFT(phone, 3) ELSE phone END AS area_code
FROM users;
原因:当 str
参数为 NULL 时,LEFT()
函数会返回 NULL。
解决方法:可以使用 COALESCE()
函数将 NULL 值替换为其他值。
SELECT id, name,
COALESCE(LEFT(phone, 3), 'N/A') AS area_code
FROM users;
希望这些信息对你有所帮助!如果有更多问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云