日期和时间函数 (Entity SQL)

SQL Server .NET Framework 数据提供程序 (SqlClient) 提供了日期和时间函数,这些函数针对 System.DateTime 输入值执行运算并返回 string、数值或 System.DateTime 值结果。 这些函数位于 SqlServer 命名空间中,该命名空间在您使用 SqlClient 时可用。 提供程序的命名空间属性使实体框架可以确定此提供程序对特定构造(如类型和函数)使用哪个前缀。下表显示 SqlClient 日期和时间函数。

功能 说明

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:计算的开始日期为一个表达式,该表达式返回精度为 0 到 7 的 DateTimeDateTimeOffsetTime 值或日期格式的字符串。

enddate: 计算的结束日期为一个表达式,该表达式返回精度为 0 到 7 的 DateTimeDateTimeOffsetTime 值或日期格式的字符串。

返回值

Int32

示例

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

cast('6/20/2006' as DateTime))

DATENAME( datepart,date)

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

参数

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

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

返回值

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

示例

SqlServer.DATENAME('year', cast('6/9/2006' as DateTime))

DATEPART( datepart,date)

返回表示指定日期的指定日期部分的整数。

参数

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

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

返回值

指定日期的指定日期部分(以 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(协调世界时或格林威治标准时间)格式生成 datetime 值。

返回值

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()

返回精度为 7 的 DateTime 值。

返回值

精度为 7 的 DateTime 值。

示例

SqlServer.SYSDATETIME()

SYSUTCDATE()

以 UTC(协调世界时或格林威治标准时间)格式生成 datetime 值。

返回值

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

示例

SqlServer.SYSUTCDATE()

SYSDATETIMEOFFSET()

返回精度为 7 的 DateTimeOffset 值。

返回值

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

示例

SqlServer.SYSDATETIMEOFFSET()

有关 SqlClient 支持的日期和时间函数的更多信息,请参见 SqlClient 提供程序清单中所指定的 SQL Server 版本的相应文档:

SQL Server 2000 SQL Server 2005 SQL Server 2008

日期和时间函数 (Transact-SQL)

日期和时间函数 (Transact-SQL)

日期和时间函数 (Transact-SQL)

另请参见

概念

用于实体框架函数的 SQL Server .NET Framework 数据提供程序 (SqlClient)