百度
360搜索
搜狗搜索

dateadd函数举例,SQL Server 中时间函数详细介绍

本文目录一览: SQL时间计算,DATEADD函数,该怎么解决

DATEADD() 函数在日期中添加或减去指定的时间间隔。
用法:DATEADD(datepart,number,date)
date 参数是合法的日期表达式。
number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart 参数可以是下列的值:
datepart 缩写

yy, yyyy
季度
qq, q

mm, m
年中的日
dy, y

dd, d

wk, ww
星期 dw, w
小时
hh
分钟
mi, n

ss, s
毫秒
ms
微妙
mcs
纳秒
ns
例子1:
SELECT DATEADD(MONTH,2,'2010-10-06')
传回的结果是2010-12-06 00:00:00.000
例子2:在当前日期减去一天
select GETDATE() as '当前日期',DATEADD(day,-1,getdate()) as '新日期'
例子3:当前日期减去一年
select GETDATE() as '当前日期',DATEADD(YEAR,-1,getdate()) as '新日期'

在VB6.0中,DateAdd函数中,用w,y与d,我怎么感觉都一样呀,都是天

返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔。
语法
DateAdd(interval, number, date)
DateAdd 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,是所要加上去的时间间隔。
number 必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。
date 必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。
设置
interval 参数具有以下设定值:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
在dateadd 函数中,w,y,d返回的日期值是相同的。在datediff中,y,d返回日期值相同,w不同。在datepart中,w,y,d各不相同。w可以理解为一周的第几天,y可以理解为一年的第几天。d理解为日期就行了。例如D=#2018-1-29#
1、dateadd。dateadd(“d”,2,d)表示天数加2,函数返回日期2018-1-31。dateadd(“y”,2,d)返回天数所在的日期。如题是29+2=31天,2018年的31天就是2018-1-31.dateadd(“w”,2,d),返回值是某周某天所在日期(默认是一周第一天是周日)。如题是2018年1月29是第5周的第2天+两天也是2018-1-31.所以三者结果完全一样。
2、datepart。datepart("w",d)它的意思是求2018年1月29日是2018年第某周的第某天,返回值是第某天的天数。如题表示2018年的第五周第二天(1月28日),所以返回是2。datepart("y",d)表示2018年1月29日是2018年的第多少天,返回值是29天。datepart("d",d)=29很简单喽。
3、datediff同理。不说了。
望采纳,给满分哦。

sql函数计算半年后的日期

SELECT
GETDATE() AS [今天],
DATEADD(mm, 3, GETDATE() ) AS [3月后],
DATEADD(mm, 6, GETDATE() ) AS [6月后]
今天 3月后 6月后
----------------------- ----------------------- -----------------------
2011-07-16 21:26:11.310 2011-10-16 21:26:11.310 2012-01-16 21:26:11.310
(1 行受影响)
SELECT
GETDATE() AS [今天],
DATEADD(mm, 3, GETDATE() ) AS [3月后],
DATEADD(mm, 6, GETDATE() ) AS [6月后]
今天 3月后 6月后
----------------------- ----------------------- -----------------------
2011-07-16 21:26:11.310 2011-10-16 21:26:11.310 2012-01-16 21:26:11.310
(1 行受影响)
select cast(cast('2011-09-01' as datetime)-getdate() as int)
楼主好,SQL中算日期有函数,直接可以算的。使用DATEADD函数即可达到目的。如例子中你说的要存三个月,那么获得三个月后的日期的写法为:dateadd(month,3,'2011-07-15')。同样,这个函数也可以算天,小时,周,季度,年,毫秒等等,此函数是算距离一个时间多少时间后是什么时间,参数第一个是要计算的时间类型,第二个为间隔的数量(为正即向后,为负则向前推算),第三个为计算的开始时间

sql 中Dateadd()函数的用法

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)
请参见

阅读更多 >>>  excelindex函数怎么用,execl index函数

DateAdd()的描述

interval必要。字符串表达式,是所要加上去的时间间隔。number必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。date必要。Variant (Date) 或表示日期的文字,这一日期还加上了时间间隔。 可以使用 DateAdd 函数对日期加上或减去指定的时间间隔。例如,可以用 DateAdd 来计算距今天为30天的日期;或者计算距现在为 45 分钟的时间。为了对 date 加上“日”,可以使用“一年的日数” (“y”),“日” (”d”) 或“一周的日数” (”w”)。DateAdd 函数将不返回无效日期。在以下实例中将 1 月31 日加上一个月:DateAdd(m, 1, 31-Jan-95)上例中,DateAdd 返回 1995 年 2 月 28 日,而不是 1995 年 2 月 31 日。如果 date 是 1996 年 1 月 31 日,则由于 1996 年是闰年,返回值是 1996 年 2 月 29 日。如果计算的日期超前 100 年(减去的年度超过 date 中的年份),就会导致错误发生。如果 number 不是一个 Long 值,则在计算时取最接近的整数值来计算。注意 DateAdd 返回值的格式由 Control Panel设置决定,而不是由传递到date 参数的格式决定。

一个时间加上一个时间的函数

DATEADD() 函数是在日期中添加或减去指定的时间间隔。
现在,我们希望向 "OrderDate" 添加 2 天,可以使用:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate FROM Orders
看到了嘛!!由12月29号变成12月31号,增加了2天。
针对你这个问题就可以使用:
select dateadd(month,1,getdate()) from 表名,这样就可以在当天的基础上加1个月的时间了!
如果是电子表格
则假设10:20:15写在A1单元格,要加的秒数写在B1单元格,
则计算单元格写入公式
=TIME(HOUR(A1),MINUTE(A1),SECOND(A1)+B1)

=A1+B1/86400
再设置单元格格式为时间格式

SQL Server 中时间函数

SQLServer2000中没有这种
数据类型
,只有SQLServer2008中才有这种数据类型,名字叫time数据
类型
.time类型只有时分秒,没有
年月日
.
在SQLServer2000中如果要实现这种效果,那么就不适合用
日期
和时间类型,而应该采用
字符串
类型,值由时间
类型转换
而来,如:
SELECT
CONVERT(varchar(100),
GETDATE(),
108)--结果:
10:57:49
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。
语法
DATEADD ( datepart , number, date )
DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF ( datepart , startdate , enddate )
DATEPART
返回代表指定日期的指定日期部分的整数。
语法
DATEPART ( datepart , date )
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
比较 DATEADD 和 DATEDIFF
DATEADD 函数向指定日期添加一段时间间隔。例如,如果 titles 表中所有书籍的发行日期都推迟三天,则可使用以下语句获得新的发行日期:
USE pubs
SELECT DATEADD(day, 3, pubdate)
FROM titles
如果日期参数的数据类型是 smalldatetime,则结果的数据类型也是 smalldatetime。可以使用 DATEADD 对 smalldatetime 值添加秒或毫秒,但只有当 DATEADD 返回的结果日期至少改变了 1 分钟时,这样做才有意义。
DATEDIFF 函数计算指定的两个日期中第二个日期与第一个日期之间各日期部分相差的时间量。换句话说,它得出两个日期之间的间隔。结果是等于 date2 - date1 的带符号整数值,以各日期部分为单位。
下面的查询使用日期 1995 年 11 月 30 日,并得出 pubdate 和该日期之间相差的天数。
USE pubs
SELECT DATEDIFF(day, pubdate, 'Nov 30 1995')
FROM titles
对于 titles 中 pubdate 为 1995 年 10 月 21 日的行,上述查询生成的结果为 40。(10 月 21 日和 11 月 30 日之间相差 40 天。)要计算以月为单位的间隔,请使用以下查询:
USE pubs
SELECT interval = DATEDIFF(month, pubdate, 'Nov 30 1995')
FROM titles
该查询对 pubdate 值在 10 月的行生成的值为 1,对 pubdate 值在 6 月的行生成的值为 5。
若 DATEDIFF 函数中的第一个日期晚于指定的第二个日期,则产生的结果为负数。由于 titles 中有两行使用 GETDATE 函数指派 pubdate 的值,所以这些值被设置为 pubs 数据库的创建日期,这样在前面的两个查询中这两行返回负数。
如果一个或两个日期参数是 smalldatetime 值,它们将在内部转换为 datetime 值进行计算。为了进行计算,smalldatetime 值中的秒和毫秒将自动设置为 0。
比较 DATEPART 和 DATENAME
DATEPART 和 DATENAME 函数将 datetime 值的指定部分(年、季度、天、小时等)生成为整数值或 ASCII 字符串。由于 smalldatetime 只能精确到分钟,所以在这两个函数中使用 smalldatetime 值时,返回的秒和毫秒部分总是为零。
下面的示例假定日期为 5 月 29 日:
SELECT DATEPART(month, GETDATE())
下面是结果集:
------------
5
(1 row(s) affected)
SELECT DATENAME(month, GETDATE())
下面是结果集:
------------
May
(1 row(s) affected)
具体可以参考SQL Server联机丛书(安装SQLServer时自动的帮助)

阅读更多 >>>  count if函数怎么使用

在SQL Server中,在当天的基础上加上1个月时间,这是用哪个函数?

SELECT '现在' AS [日期], GETDATE() AS [数据]UNION ALLSELECT '下一秒' AS [日期], DATEADD(ss, 1, GETDATE() ) AS [数据]UNION ALLSELECT '下一分' AS [日期], DATEADD(mi, 1, GETDATE() ) AS [数据]UNION ALLSELECT '下一小时' AS [日期], DATEADD(hh, 1, GETDATE() ) AS [数据]UNION ALLSELECT '明天' AS [日期], DATEADD(dd, 1, GETDATE() ) AS [数据]UNION ALLSELECT '下周' AS [日期], DATEADD(ww, 1, GETDATE() ) AS [数据]UNION ALLSELECT '下月' AS [日期], DATEADD(mm, 1, GETDATE() ) AS [数据]UNION ALLSELECT '下季度' AS [日期], DATEADD(qq, 1, GETDATE() ) AS [数据]UNION ALLSELECT '明年' AS [日期], DATEADD(yy, 1, GETDATE() ) AS [数据]go日期 数据-------- -----------------------现在 2010-08-31 17:20:57.950下一秒 2010-08-31 17:20:58.950下一分 2010-08-31 17:21:57.950下一小时 2010-08-31 18:20:57.950明天 2010-09-01 17:20:57.950下周 2010-09-07 17:20:57.950下月 2010-09-30 17:20:57.950下季度 2010-11-30 17:20:57.950明年 2011-08-31 17:20:57.950(9 行受影响)
SELECT '下月' AS [日期], DATEADD(mm, 1, GETDATE() ) AS [数据]
dateadd(datepart, number, date) , datapart指定对那一部分加,number知道加多少,date指定在谁的基础上加。getdate()表示当前时间。
declare @paraDate datetime
set @paraDate='2014.3.1'
declare @resultDate datetime--这个就是你要的值,dateadd就是你要的函数
set @resultDate=dateadd(month,1,@paraDate)
select dateadd(month,1,getdate())
DATEADD() 函数是在日期中添加或减去指定的时间间隔。
现在,我们希望向 "OrderDate" 添加 2 天,可以使用:
SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate FROM Orders
看到了嘛!!由12月29号变成12月31号,增加了2天。
针对你这个问题就可以使用:
select dateadd(month,1,getdate()) from 表名,这样就可以在当天的基础上加1个月的时间了!

谁知道dateadd()函数怎么将结果赋给变量如:time=dateadd(day,-1,getdate())

本示例先取得一个日期,再用 DateAdd 函数显示未来数月后的日期。
Dim FirstDate As Date ' 声明变量。
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m" ' "m"指定以“月份”作为间隔。
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
Dim dt
dt = DateAdd(d, -1, date())

网站数据信息

"dateadd函数举例,SQL Server 中时间函数"浏览人数已经达到17次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:dateadd函数举例,SQL Server 中时间函数的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!