今天这篇文章是对比Excel学习SQL系列的第4篇文章,之前3篇的传送门在这里:《对行和列的操作》、《库/表/记录的增查删改》、《写给小白的SQL学习文章》。
计算字段的意思是通过原有字段的运算创建新的字段,本文主要从算术运算符计算字段、函数计算字段和聚合函数的应用三个方面来分享。
一、算术运算符计算字段
算术运算符就是加减乘除运算符,用算术运算符创建字段直接在select后写命令。
--select 列 算术运算符 from 表;
--从sc成绩表里提取学号、成绩以及每个学生的成绩加5
select snum,score,score + 5 as score2 from sc;
给新创建的字段赋予名称,用到【AS】命令
这里我们对sc表里的score列每个数值都+5得到一个新的score2字段,如下:
我们想一下这个操作对应在Excel里就是很简单的新建一列,然后赋值,如下动图:
二、函数计算字段
01 日期函数
对日期时间型数据进行操作的函数,日期函数里用到较多的是YEAR()、MONTH()、DAY(),Excel里也有这三个函数,作用都是提取某个日期下的年、月、日的数据。
如下例,提取2003年3月3日出生的学生,这里可以不用DATE()函数,因为sage列本身就已经预设成了日期格式,需要注意的是,筛选日期时要用单引号引起来。
--提取2003年3月3日出生的学生的数据
select * from student1 where sage = '2003-03-03';
select * from student1 where DATE(sage) = '2003-03-03';
【MONTH】
再如下例,提取2003年出生的所有学生记录。
--提取2003年出生的学生的数据
select * from studenet1 where YEAR(sage) = 2003;
同理,MONTH()函数和DAY()函数也是这样的用法。这个操作在Excel里相当于新建一列year字段,用YEAR()函数作用于sage字段,得到每个学生出生日期的年份,最后筛选出2003年的学生数据,整个过程如下动图所示:
02 文本函数
对字符型数据进行操作的函数,这里文本函数和Excel里相应函数的用法都是一样的,不同的是length()函数对应的是Excel里的len()函数,名字不同罢了,想要复习Excel里文本函数的同学,传送门在这里:《Excel文本函数》
SQL里的文本函数是这样的:
函数 |