[Mysql] LEFT函数 | RIGHT函数

本文介绍了SQL中的LEFT和RIGHT函数,用于从字符串左右两侧提取指定数量的字符。LEFT函数从左取指定长度的字符,RIGHT函数则从右取。文章通过示例展示了如何使用这两个函数,并提供了一个练习案例,演示如何利用它们对员工的手机号进行加密处理(如138****9401),并按薪资升序输出数据。
摘要由CSDN通过智能技术生成

1.LEFT函数

LEFT函数用于从给定字符串的左侧提取指定数量的字符

语法结构

LEFT(str,len)

str: 给定的字符串,将从其左侧提取字符

len: 要提取的字符数,如果此参数大于字符串中的字符数,则此函数将返回实际的字符串

注意: 如果任一参数为Null,结果返回Null

示例 

-- 结果为空
SELECT LEFT('abcdefg',0);
-- abc
SELECT LEFT('abcdefg',3);
-- abcdefg
SELECT LEFT('abcdefg',10);
-- Null
SELECT LEFT('abcd',NULL);
-- LEFT函数可以截取数字
-- 12
SELECT LEFT(123456,2);

2.RIGHT函数

RIGHT函数用于从给定字符串的右侧提取指定数量的字符

语法结构

RIGHT(str,len)

str: 给定的字符串,将从其右侧提取字符

len: 要提取的字符数,如果此参数大于字符串中的字符数,则此函数将返回实际的字符串

注意: 如果任一参数为Null,结果返回Null

示例 

-- 结果为空
SELECT RIGHT('abcdefg',0);
-- efg
SELECT RIGHT('abcdefg',3);
-- abcdefg
SELECT RIGHT('abcdefg',10);
-- Null
SELECT RIGHT('abcd',NULL);
-- RIGHT函数可以截取数字
-- 56
SELECT RIGHT(123456,2);

练习案例 

导入数据

DROP TABLE IF EXISTS `employee_info`;
CREATE TABLE `employee_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `phone` varchar(255) DEFAULT NULL,
  `salary` int(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

INSERT INTO `employee_info` VALUES ('1', 'Odin', '13810809401', '10000');
INSERT INTO `employee_info` VALUES ('2', 'Kacky', '15820126789', '12000');
INSERT INTO `employee_info` VALUES ('3', 'Jerry', '15815810158', '11000');
INSERT INTO `employee_info` VALUES ('4', 'Harry', '15820176889', '13000');
INSERT INTO `employee_info` VALUES ('5', 'Sun', '13578945621', '9000');

employee_info表 

问题: 将员工手机号码进行加密处理(例如:138****9401) ,按薪资升序输出数据(name,phone,salary格式进行输出)

SELECT name, CONCAT(LEFT(phone,3),'****',RIGHT(phone,4))AS phone, salary
FROM employee_info
ORDER BY salary ASC;

结果展示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值