怎样让时间自动加1? declare @x datetimeselect @x = '2003-10-13'select @x=datediff(day,1,@x)go 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 set @x = @x +1orset @x = dateadd(day,1,@x) declare @x datetimeselect @x = '2003-10-13'select dateadd(day,1,@x) select dateadd(month,-24,'2002-12-14')---------------------^^^减select dateadd(day,-24,'2002-12-14')----------------^^^天或year年 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 pubsGOSELECT DATEADD(day, 21, pubdate) AS timeframeFROM titlesGO下面是结果集: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) declare @x datetimeselect @x = '2003-10-13'select @x = dateadd(day,1,@x) declare @x datetimeselect @x = '2003-10-13'select @x = dateadd(day,1,@x)(返回下一天时间,能自动判断是否是月末、年末) declare @x datetimeselect @x = '2003-10-13'select @x = dateadd(day,1,@x) 无限级分类问题 请教一条查询sql优化问题, 求SQL语句 用标准sql语句查询时间段的问题 存储过程数据更新问题!! 求助 如何连接两个长度为8000,类型是varchar的字符串为ntext或其他类型的可读类型? 总和排序 sql7.0的一个故障问题 写很长的存储过程,几千行,怎样找和begin匹配的end 请问如何获取Sql Server中某个数据库的所有用户表名,以及某个特定用户表中列的信息,比如列的数目,列名,列的数据类型? 为什么我的SQL SERVER 2000企业版(标准版)不能装在WINDOWS2000Professional上?
or
set @x = dateadd(day,1,@x)
select @x = '2003-10-13'
select dateadd(day,1,@x)
---------------------^^^减
select dateadd(day,-24,'2002-12-14')
----------------^^^天或year年
在向指定日期加上一段时间的基础上,返回新的 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)
select @x = '2003-10-13'
select @x = dateadd(day,1,@x)
select @x = '2003-10-13'
select @x = dateadd(day,1,@x)(返回下一天时间,能自动判断是否是月末、年末)
select @x = '2003-10-13'
select @x = dateadd(day,1,@x)