一、介绍Left函数
SQL Server中,Left()函数是用来截取指定字符串开头的指定长度的字符串。它接受两个参数,第一个参数是要截取字符串的列,第二个参数是要保留的字符串长度。
二、应用场景
Left函数的主要应用场景是在SQL语句中对某一列进行字符串处理。具体场景如下:
1、截取字符串中指定长度的部分。
SELECT LEFT('SQL Server Left function', 3) -- 返回 'SQL'
2、从字符串中获取指定长度的前几个单词。
SELECT LEFT('SQL Server Left function', CHARINDEX(' ', 'SQL Server Left function', CHARINDEX(' ', 'SQL Server Left function') + 1)-1) -- 返回 'SQL Server'
3、去除字符串中的前几位字符。
SELECT RIGHT('SQL Server Left function', LEN('SQL Server Left function')-3) -- 返回 'Server Left function'
三、使用示例
下面是一些使用Left函数实现字符串处理的场景示例:
1、截取用户名的前三个字符并加上"_user",作为新的用户名。
UPDATE tb_user SET user_name = CONCAT(LEFT(user_name, 3), '_user')
2、查询公司名并仅显示公司名的前六个字符。
SELECT LEFT(company_name, 6) FROM tb_company
3、根据电话号码查询用户信息,仅返回电话号码前缀为'138'的用户。
SELECT * FROM tb_user WHERE LEFT(user_tel, 3) = '138'
四、注意事项
1、如果要截取的长度大于原字符串长度,Left函数将返回整个字符串。
2、如果原字符串含有NULL值,Left函数将返回NULL。
3、在使用Left函数截取中文时,由于中文字符的长度通常大于1,需要使用特定的函数计算中文字符数,例如LEN函数、DATALENGTH函数等。