datediff语法格式:datediff(day,开始时间,结束时间)
一、应用举例:
select * from [dbo].[Kah_Order_Sum] where datediff(day,'2016-09-20',created_time)>1
上面的代码,将查询 'created_time' > '2016-09-20' 的所有记录。
如果要查询'created_time' < '2016-09-20' 的所有记录,有两个方法:
1、把最后的>1,改成<0;
2、把两个字顺序互调,变成 datediff(day,created_time,'2016-09-20')>0
二、讲解
1、语法:datediff(计算单位,开始时间,结束时间)
计算单位:一般填dayhour(天、小时)
开始时间,结束时间:可以填字段或具体的时间。
参见:http://www.w3school.com.cn/sql/func_datediff.asp
2、datediff(day,created_time,'2016-09-20')>0 根据返回的是两个列的天数差,来判断是否>0。
=0,两个时间相等,即查某一天的数据。
>0,结束时间晚于开始时间的0天的数据,<0,结束时间早上开始时间的0天的数据。
三、注意
1、日期格式要加单引号,不可直接写。
2、注意>1 和>0的区别,以datediff(day,created_time,'2016-09-20')>0为例:
=0,是表示查找9-20当天的数据,>0是表示从9-21日开始的数据,>1是从9-22日开始的数据。
这容易弄混。所以,一般建议填=0,>0.