码迷,mamicode.com
首页 > 数据库 > 详细

sql server 计算时间差的一部分函数【转】

时间:2016-12-01 21:10:53      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:get   query   lis   数据显示   日期   时间差   ref   ble   min   

在做Sql Server开发的时候有时需要获取表中今天、昨天、本周、上周、本月、上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了。
DATEDIFF ( datepart , startdate , enddate )
释义:计算时间差
datepare值:year | quarter | month | week | day | hour | minute | second | millisecond
startdate:开始日期
enddate :结束日期
GetDate()
释义:获取当前的系统日期

下面例子中表名为tablename,条件字段名为inputdate
查询今天

SELECT * FROM tablename where DATEDIFF(day,inputdate,GETDATE())=0
查询昨天

SELECT * FROM tablename where DATEDIFF(day,inputdate,GETDATE())=1
查询本周

SELECT * FROM tablename where datediff(week,inputdate,getdate())=0
查询上周

SELECT * FROM tablename where datediff(week,inputdate,getdate())=1
查询本月

SELECT * FROM tablename where DATEDIFF(month,inputdate,GETDATE())=0
查询上月

SELECT * FROM tablename where DATEDIFF(month,inputdate,GETDATE())=1

转载地址: http://www.devdo.net/sql-server-query-date.html

 

合并两个表同时查询

例如:

table a  有字段 id   name  age

table b 有字段 id  sex  address

查询的sql:  select * from (select id,name,age,null sex,null address from a union all select id,null name,null age,sex,address from b)

原理:让两个表都有同样的字段名,null sex==null as sex,因为a表没有sex列,所以我们定义一个为null的列。这样就能和b表有同样的列。

union all 就是查询两个表的所有数据显示。

sql server 计算时间差的一部分函数【转】

标签:get   query   lis   数据显示   日期   时间差   ref   ble   min   

原文地址:http://www.cnblogs.com/difashi/p/6122598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!