1. 求sql 时间的计算方法
DATEADD 函数 [日期和时间]
--------------------------------------------------------------------------------
作用
返回通过将若干日期部分添加到日期中而产生的日期。
语法
DATEADD ( date-part, numeric-expression, date-expression )
date-part :
year | quarter | month | week | day | hour | minute | second | millisecond
参数
date-part 要添加到日期中的日期部分。
numeric-expression 要添加到日期中的日期部分的数值。numeric_expression 可以是任意数字类型,但它们的值将被截断成整数。
date-expression 要修改的日期。
示例
下面的语句返回值:1995-11-02 00:00:00.0。
SELECT dateadd( month, 102, '1987/05/02' ) 标准和兼容性
2. 利用SQL语句如何获得两个日期之间相差的天数
用sysdate假设结束日期字段是end_date
添加这个判断条件:
where to_char("end_date",'YYYY') = to_char(sysdate,'YYYY') 判断年相同
and to_char("end_date",'MM') = to_char(sysdate,'MM') 判断月相同
and to_char("end_date",'dd') - to_char(sysdate,'dd') = 15 判断日相同
或者:
where to_char("end_date",'YYYY-MM-DD') - to_char(sysdate,'YYYY-MM-DD')=15
(2)sql日期计算扩展阅读:
注意事项
DATEDIFF返回跨两个指定日期的日期和时间边界数。
语法:DATEDIFF ( datepart , startdate , enddate )
参数:datepart
是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
startdate是返回datetime或smalldatetime值或日期格式字符串的表达式。 因为smalldatetime只精确到分钟,所以当用smalldatetime值时,秒和毫秒总是 0。
如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。
有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。
enddate是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。
返回类型:integer
注释:startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。
3. sql日期计算间隔多少天
取出期间的每一天(DATEDIFF),判断下是2月(DATEPART)就加1,OK?
4. SQL 怎么计算时间
SELECTDATEDIFF(mi,intime,outtime)ASElapsedTimeFROM[表名]
你可以使用DATEDIFF(datepart,startdate,enddate)函数,
datepart 参数可以是下列的值:
datepart 缩写
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
5. SQL是计算两个日期相差多少天数的函数
SQL是高级的非过程化编程语言,一般针对数据库进行操作。
定义:datediff(day/month/year,startdate,enddate)
日期函数:(要返回的天数/月数/年数,开始日期,结束日期)
具体形式:
select 1,2,datediff(day,1,2) 天数 from aa
6. sql怎么把表中的来源日期距离今日日期计算出来
用这个查询语句吧
我用测试表
DECLARE@TBTABLE(DTVARCHAR(20))
INSERTINTO@TBVALUES('2013/06/19')
INSERTINTO@TBVALUES('2013/03/27')
INSERTINTO@TBVALUES('2013/04/24')
INSERTINTO@TBVALUES(null)
SELECTDTAS来源日期,
CONVERT(VARCHAR,GETDATE(),111)AS今天,
ISNULL(DATEDIFF(D,GETDATE(),DT),999)AS差异
FROM@TB
来源日期 今天 差异
-------------------- ------------------------------ -----------
2013/06/19 2013/07/02 -13
2013/03/27 2013/07/02 -97
2013/04/24 2013/07/02 -69
NULL 2013/07/02 999
(4 row(s) affected)
7. SQL 日期计算
假设a是那个字段
convert(varchar(6),dataadd(month,-1,left(a,4) + '/' + right(a,2) + '/01'),112)
请参考
8. 在Sql语句中怎样计算出两个日期的差值
sql语句中计算两个日期的差值用datediff函数。
工具:sqlserver 2008 R2
步骤:
1、计算2009-06-23与2009-06-17之间的天数。语句如下:
selectdatediff(d,'2009-06-17','2009-06-23')
2、查询结果:
9. 请教一个关于SQL日期计算的问题!
首先要把表单提交过来的日期转换成一个日期字串,如:
dateStr=request("date")
dateStr=left(dateStr,4) & "/" & right(dateStr,4)
dateStr=left(dateStr,7) & "/" & right(dateStr,2)
然后把sql语句改成:
sql="select *,datediff(yyyy,R_birthday,#" & dateStr & "#) from table_R"
日期的两边要用#号表示日期.
10. SQL Server各种日期计算方法
本周的星期一
这里我是用周(wk)的时间间隔来计算哪一天是本周的星期一。
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)
一年的第一天
现在用年(yy)的时间间隔来显示这一年的第一天。
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
季度的第一天
假如你要计算这个季度的第一天,这个例子告诉你该如何做。
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)