日期和时间函数

用于 SQL Server 的 .NET Framework 数据提供程序(SqlClient)提供日期与时间的函数,用于对System.DateTime输入值执行操作,并返回string、数字或者System.DateTime类型的结果值。 这些函数位于 SqlServer 命名空间中,使用 SqlClient 时可用。 提供程序的命名空间属性允许 Entity Framework 发现此提供程序用于特定构造(如类型和函数)的前缀。 下表显示了 SqlClient 日期和时间函数。

功能 DESCRIPTION
DATEADD(datepart, number, date) 返回一个新 DateTime 值,它是在指定日期的基础上加上一个时间间隔之后得到的结果。

论点

datepart:一个 String,表示用于返回新值的日期部分。

number:用于递增datepartInt32Int64DecimalDouble值。

date: 一个表达式,返回精度为 0 到 7 的 DateTimeDateTimeOffsetTime,或日期格式的字符串。

返回值

精度为 0 到 7 的新 DateTimeDateTimeOffsetTime 值。

示例

SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime))
DATEDIFF(datepart,startdate,enddate) 返回两个指定日期之间所跨的日期和时间边界的数目。

论点

datepart:一个 String,表示用于计算差异的日期部分。

startdate:计算的开始日期是一个表达式,可以返回DateTimeDateTimeOffsetTime的值,精度为 [0-7],或者是一个符合日期格式的字符串。

enddate:计算的结束日期是一个表达式,返回DateTimeDateTimeOffsetTime值,精度为 [0-7],或者以日期格式返回字符字符串。

返回值

一个 Int32

示例

SqlServer.DATEDIFF('day', cast('6/9/2006' as DateTime),

cast('6/20/2006' as DateTime))
DATENAME(datepart, date) 返回一个字符串,表示指定日期的某一部分。

论点

datepart:一个 String,表示用于返回新值的日期部分。

date:一个表达式,可以返回 DateTime,DateTimeOffsetTime 精度为[0-7]的值,或一个采用日期格式的字符串。

返回值

表示指定日期的指定日期部分的字符串。

示例

SqlServer.DATENAME('year', cast('6/9/2006' as DateTime))
DATEPART(datepart, date) 返回表示指定日期的指定日期部分的整数。

论点

datepart:一个 String,表示用于返回新值的日期部分。

date:一个返回DateTime,DateTimeOffset,Time值(精度为[0-7])或日期格式的字符串的表达式。

返回值

指定日期的指定日期部分(以 Int32 表示)。

示例

SqlServer.DATEPART('year', cast('6/9/2006' as DateTime))
DAY(date) 以整数形式返回指定日期的日期。

论点

date:类型 DateTimeDateTimeOffset 精度为 0-7 的表达式。

返回值

指定日期的“日”(以 Int32 表示)。

示例

SqlServer.DAY(cast('6/9/2006' as DateTime))
GETDATE() 为 datetime 值生成以 SQL Server 内部格式表示的当前日期和时间。

返回值

DateTime 类型的当前系统日期和时间(精度为 3)。

示例

SqlServer.GETDATE()
GETUTCDATE() 生成 UTC(协调世界时或格林威治平均时间)格式的日期时间值。

返回值

UTC 格式的 DateTime 值(精度为 3)。

示例

SqlServer.GETUTCDATE()
MONTH(date) 以整数形式返回指定日期的月份。

论点

date:类型 DateTimeDateTimeOffset 精度为 0-7 的表达式。

返回值

指定日期的月份(以 Int32 表示)。

示例

SqlServer.MONTH(cast('6/9/2006' as DateTime))
YEAR(date) 以整数形式返回指定日期的年份。

论点

date:类型 DateTimeDateTimeOffset 精度为 0-7 的表达式。

返回值

指定日期的年度(以 Int32 表示)。

示例

SqlServer.YEAR(cast('6/9/2006' as DateTime))
SYSDATETIME() 返回 DateTime 精度为 7 的值。

返回值

精度为 7 的 DateTime 值。

示例

SqlServer.SYSDATETIME()
SYSUTCDATE() 生成 UTC(协调世界时或格林威治平均时间)格式的日期时间值。

返回值

UTC 格式的 DateTime 值(精度为 7)。

示例

SqlServer.SYSUTCDATE()
SYSDATETIMEOFFSET() 返回一个精度为 7 的 DateTimeOffset

返回值

UTC 格式的 DateTimeOffset 值(精度为 7)。

示例

SqlServer.SYSDATETIMEOFFSET()

有关 SqlClient 支持的日期和时间函数的详细信息,请参阅日期和时间数据类型和函数(Transact-SQL)。

另请参阅