`

sqlserver中的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

是返回 datetimesmalldatetime 值或日期格式字符串的表达式。有关指定日期的更多信息,请参见 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)

 

 

 

 

DATEADD ( datepart , number, date ),理解为,date是一个日期对象,要在date上增加时间,datepart表示

 

需要在那部分添加(如:Year,Day,hour等),number添加的数量。

 

例子:

 

DATEADD ( Year , 2, 1991-06-12 00:00:00.000)   在年(1991年)上增加2,则返回值为1993-06-12 00:00:00.000

 

 

DATEADD ( Day, 2, 1991-06-12 00:00:00.000)    在日(12号)上增加2,则返回值为1991-06-14 00:00:00.000

 

 

DATEADD ( Hour, 2, 1991-06-12 00:00:00.000)    在小时(00小时)上增加2,则返回值为1991-06-12 02:00:00.000

 

 

 

 

<!--relatedtopicslist-->

分享到:
评论

相关推荐

    sqlserver中日期型字段设默认值

    在SQL Server中,设置日期型字段的默认值可以通过多种方式实现,其中最常用的是使用`GETDATE()`函数和`DATEADD()`函数。下面将详细介绍这两种方法: #### 使用`GETDATE()`函数 `GETDATE()`函数返回系统当前的日期...

    sqlserver-oracle 数据类型对照

    - `CURRVAL`和`NEXTVAL`在Oracle中处理序列,SQL Server中使用`IDENT_CURRENT`和`IDENTITY`属性。 - `NULLIF`在Oracle和SQL Server中用于比较并返回NULL。 - `UID`、`SUSER_ID`、`USER_ID`、`USER`、`CURRENT_...

    Win10可用的Microsoft SQL Server 2008 Native Client

    6. **数据类型和函数的扩展**:除了基本的SQL Server数据类型,Native Client还支持一些特定的类型,如DateTime2、Time、DateTimeOffset等,并且提供了新的函数,如DATEADD和DATEDIFF,以增强日期和时间操作的灵活性...

    sqlserver中对时间日期的操作

    同样地,SQL Server也支持类似的日期运算,如`DATEADD(day, 100, GETDATE())`表示在当前日期基础上加上100天,这在财务报表、合同到期提醒等场景下有着广泛的应用。 ### 总结 掌握在SQL Server中对时间日期的操作...

    SQL server 和C#中的DateTime使用小结

    SQL Server 中提供了多种日期函数,包括 GETDATE()、DATEPART()、DATEDIFF()、DATEADD() 等。 1. GETDATE(): GETDATE() 函数用于获取当前日期和时间。例如: ```sql SELECT GETDATE() ``` 该语句将返回当前日期和...

    SQLServer时间处理

    在SQL Server中,时间处理是数据库管理中的一个重要环节,它涉及到如何存储、操作和查询与时间相关的数据。本文将深入探讨SQL Server中的时间处理技术,包括时间数据类型的使用、时间值的转换、以及如何获取特定时间...

    SQL Server中获取第一天、最后一天

    通过以上SQL语句的介绍,我们可以看出,在SQL Server中利用`DATEADD`和`DATEDIFF`函数可以灵活地处理各种日期计算需求,这对于优化数据查询性能、提高数据分析效率具有重要意义。掌握了这些技巧,便能更高效地应对...

    ORACLE与SQLSERVER函数异同比较

    ### ORACLE与SQLSERVER函数异同比较 在数据库领域,Oracle和SQL Server是两种非常流行的数据库管理系统。这两种系统虽然有着不同的背景和发展历程,但都提供了丰富的功能来满足各种业务需求。尤其是在函数支持方面...

    模拟SQLSERVER的两个函数:dateadd(),datediff()

    在SQL Server数据库管理系统中,`DATEADD()` 和 `DATEDIFF()` 是两个非常重要的日期和时间操作函数。在PHP中,由于没有内置与之完全相同的函数,我们可以模拟这些函数的功能来实现相似的操作。以下是对这两个函数的...

    sql server日期格式转换方法大全

    在SQL Server中,日期和时间数据类型的处理是数据库操作中的常见任务。无论是为了报表、数据分析还是用户界面展示,我们经常需要将日期格式进行转换。本文将深入探讨SQL Server中多种日期格式转换的方法。 1. `...

    sqlserver转PG经验总结及PG的一些特性

    - **创建临时表**:在 SQL Server 中可以使用 `select * into #temp_table from table` 创建临时表,在 PostgreSQL 中则需使用 `create temp table temp_table on commit drop as select * from table`。 - **异常...

    SQL Server2000帮助文档

    其中,“SQl函数.chm”文件专注于介绍SQL Server 2000中的各种函数,而“SQL Server 2000的帮助文档”则涵盖更全面的SQL Server知识,包括但不限于SQL语法、系统管理、安全性、备份恢复等多个方面。 1. **SQL ...

    SQL Server 查询两个日期之间的所有月份

    在SQL Server中,查询两个日期之间的所有月份是一个常见的需求,特别是在数据分析、报表生成或时间序列分析等场景。本文将详细讲解如何使用SQL Server实现这一功能,以满足上述标题和描述中的要求。 首先,我们需要...

    sqlserver日期相关知识.doc

    在 SQL Server 中,可以使用 DATEADD 函数来获取一周、一个月、季度、某年的第一天。例如: ```sql -- 获取一周的第一天 SELECT DATEADD(week, DATEDIFF(week, 0, GETDATE()), 0); -- 获取一个月的第一天 SELECT ...

    经典SQLServer操作脚本

    5. **SQLServer2000经典脚本**: SQL Server 2000虽然较旧,但仍有大量遗留系统在运行。经典脚本可能包含性能优化、备份恢复、索引管理、安全设置等实用脚本。例如,定期清理无用记录、设置存储过程权限、检查表的...

    SQL Server帮助文档(全)

    在实际工作中,掌握SQL Server的这些知识不仅能提升数据库管理的效率,还能确保数据的安全性和稳定性。通过深入学习和实践,可以成为一个精通SQL Server的专业人士,有效地管理和利用企业数据资源。

    SQL Server 中的时间算法总结

    在SQL Server中,时间算法是非常关键的一部分,特别是在处理日期和时间相关的业务逻辑时。以下是对SQL Server中时间算法的详细总结: 1. **前一天和后一天**: - 使用`DATEADD`函数可以轻松获取给定日期的前一天或...

    从Sql Server迁移到 Oracle 过程中代码需要调整的地方

    在数据库迁移过程中,将SQL Server迁移到Oracle可能会遇到一些语法和功能上的差异,这需要对代码进行相应的调整。以下是一些关键的转换点和注意事项: 1. **NULL值处理**: - SQL Server中,空字符串`''`和NULL是...

    sqlserver 计算当月所有自然周的区间。

    根据提供的文件信息,我们可以了解到这段代码的主要目的是在SQL Server中计算出指定月份的所有自然周的起始和结束日期,并将这些信息存储在一个名为`monthWeekBetween`的表中。接下来,我们将详细解释其中的关键概念...

Global site tag (gtag.js) - Google Analytics