a 判断是否为日期
IsDate()
例:出生年月是否是日期信息
Select 学生编号,学生姓名,Case When IsDate(出生年月)=1 Then ‘是日期信息’ Else ‘非日期信息’ End as 生日字段是否为日期信息 From tb_Student
例:将日期型数据转为字符串
Select 出生年月, Substring(Convert(varchar(20),出生年月),6,5) as 年份 From tb_Student
b 查询指定日期的数据
Select 学生编号,学生姓名,年龄,性别,出生年月,家庭住址 From tb_Student Where 出生年月=‘1980/12/24’
模糊查询日期数据
Select * From tb_Student Where 出生年月 like ‘%1980%’
c 查询指定时间段数据
Select * From tb_Book Where 日期 Between ‘2018/8/1’ and ‘2018/10/1’
Select * From tb_Student Where 年龄 Between 19 and 25
d 按年,月,日查询数据
1)Year(date) 指定日期中的年份的整数
2)Month(date) 指定日期中的月份的整数
3)Day(date) 指定日期中的日期的整数
注:如果date设置成0 ,sql 会将0 视为1900年1月1日
Select 书号,书名,销售数量,日期 From tb_Book Where Year(日期)=‘2010’ and Month(日期)=‘9’ and Day(日期)=‘26’
e 返回当前日期时间及其对应的星期
1)GetDate() 当前日期
2)DateName(weekDay/Day,date) 日期是星期几,或者是本月第几天。
Select GetDate() as 当前日期时间,DateName(WeekDay,GetDate()) as 星期
判断今天是本月的第几天
Select DateName(Day,GetDate()) as 今天是本月的第几天
f 查询指定时间间隔的数据
计算学生的年龄
Select 学生姓名,出生年月,DateDiff(Year,出生年月,GetDate()) as 学生年龄 From tb_Student