MySQL:截取查询结果的一部分并输出
1、创建数据库
DROP TABLE IF EXISTS class_stu;
CREATE TABLE class_stu(
class_stu_info VARCHAR(30), # 信息
is_stu_attend VARCHAR(8) # 是否有学生参加
)
ENGINE = INNODB
DEFAULT CHARSET = utf8;
2、插入数据
INSERT INTO class_stu VALUES
('一班/小a','YES'),
('二班','NO'),
('三班','NO'),
('四班/小b','YES'),
('四班/小c','YES');
查询有学生参加的班级人数,输出其名称,形式为“一班”,不要后面的学生姓名
3、查询
3.1、SUBSTRING() 函数
# column_name 是你要截取的字段的列名,start_position 是开始截取的位置
# (从 1 开始计数),length 是需要截取的长度。
SELECT SUBSTRING(column_name, start_position, length)
FROM table_name
WHERE condition;
# 具体:
SELECT DISTINCT(SUBSTRING(class_stu_info,1,2)) AS c_name
FROM
class_stu
WHERE is_stu_attend = 'YES';
3.2、LEFT()
# 从左边取
SELECT LEFT(column_name, length)
FROM table_name;
# 具体:
SELECT DISTINCT(LEFT(class_stu_info,2)) AS c_name
FROM
class_stu
WHERE is_stu_attend = 'YES';
- 3.1和3.2的结果
3.3、RIGHT()
# 右边
SELECT RIGHT(column_name, length)
FROM table_name;
注意截取的长度一致