sql中时间列加减怎么弄?

sql中时间列加减怎么弄?,第1张

你看看这个就什么都明白了:

DATEADD

在向指定日期加上一段时间的基础上,返回新的 datetime 值。

语法

DATEADD ( datepart , number, date )

参数

datepart

是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写

Year yy, yyyy

quarter qq, q

Month mm, m

dayofyear dy, y

Day dd, d

Week wk, ww

Hour hh

minute mi, n

second ss, s

millisecond ms

number

是用来增加 datepart 的值。如果指定一个不是整数的值,则将废弃此值的小数部分。例如,如果为 datepart 指定 day,为 number 指定 1.75,则 date 将增加 1。

date

是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。

如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

返回类型

返回 datetime,但如果 date 参数是 smalldatetime,返回 smalldatetime。

示例

此示例打印出 pubs 数据库中标题的时间结构的列表。此时间结构表示当前发布日期加上 21 天。

USE pubs

GO

SELECT DATEADD(day, 21, pubdate) AS timeframe

FROM titles

GO

下面是结果集:

timeframe

---------------------------

Jul 3 1991 12:00AM

Jun 30 1991 12:00AM

Jul 21 1991 12:00AM

Jul 13 1991 12:00AM

Jun 30 1991 12:00AM

Jul 9 1991 12:00AM

Mar 14 1997 5:09PM

Jul 21 1991 12:00AM

Jul 3 1994 12:00AM

Mar 14 1997 5:09PM

Nov 11 1991 12:00AM

Jul 6 1991 12:00AM

Oct 26 1991 12:00AM

Jul 3 1991 12:00AM

Jul 3 1991 12:00AM

Nov 11 1991 12:00AM

Jul 3 1991 12:00AM

Jul 3 1991 12:00AM

(18 row(s) affected)

ql语句处理时间——日期加减天数如下:

select date_add(now(), interval 1 day)-- 加1天

select date_add(now(), interval 1 hour)-- 加1小时

select date_add(now(), interval 1 minute)-- 加1分钟

select date_add(now(), interval 1 second)-- 加1秒

select date_add(now(), interval 1 microsecond)-- 加1毫秒

select date_add(now(), interval 1 week)-- 加1周

select date_add(now(), interval 1 month)-- 加1月

select date_add(now(), interval 1 quarter)-- 加1季

select date_add(now(), interval 1 year)-- 加1年

扩展资料

SQL中常用日期函数

1、GETDATE() 返回当前系统日期;

SELECT GETDATE()

2、DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回;

--常数为正

SELECT DATEADD(YY,1,GETDATE())

--等同于

SELECT DATEADD(YEAR,1,GETDATE())

--常数为负数

SELECT DATEADD(YY,-2,GETDATE())

--常数为小数(直接舍去小数部分)

SELECT DATEADD(YY,2.4,GETDATE())

SELECT DATEADD(YY,2.5,GETDATE())

SELECT DATEADD(YY,2.6,GETDATE())

假设字段1的时间为2017/07/20 8:00:00

字段2的时间为2017/07/20 9:00:00 时间相减即可:

select (字段2时间-字段1时间)/1440 as 时间差 from tableName

返回结果

60


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10873998.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存