SQL面试必会50题123
31. 查询1990年出生的学生名单(重点year)
法一
SELECT * FROM Student
WHERE YEAR(s_birth) = '1990'
法二
SELECT * FROM Student
WHERE YEAR(s_birth) = 1990 # 1990既可以写成字符串,也可以写成整数
其他时间函数
返回年份的函数
SELECT YEAR(200308) -- 报错
SELECT YEAR('200308') -- 2020,简写年份时,会首先默认最近年份,例如20会默认2020年而不是1920年
SELECT YEAR('20200308') -- 2020
SELECT YEAR('2020-03-08') -- 2020
SELECT YEAR('2020/03/08') -- 2020
返回月份的函数
SELECT MONTH(20200308) -- 报错
SELECT MONTH('2020\03\08') -- NULL
SELECT MONTH('2020-03-08') -- 3
SELECT MONTH('2020/03/08') -- 3
SELECT MONTH('20200308') -- 3
SELECT MONTH('200308') -- 3
可以用YEAR/MONTH正确返回年/月的时间格式
- ‘YYYY-MM-DD’
- ‘YYYY/MM/DD’
- ‘YYYYMMDD’
- ‘YYMMDD’
另外一些返回时间的函数
SELECT CURDATE() -- 返回当前日期
SELECT CURTIME() -- 返回当前时间
SELECT NOW()