本文将列出SQL Server 2008附带的日期和时间函数。
我们将学习如何在SQL Server中使用日期函数,其中SQL Server 2005中的示例DateTime和SmallDateTime有两个不同的数据类型,用于存储日期和时间数据日期和时间函数,使程序员能够获得系统日期,也可以获得系统日期要操作存储在数据库中的日期和时间值。
因为日期和时间函数在许多不同的情况下都很有用,所以很难强调一个特定的用法,以比其他方式更为重要。
我们可能已经遇到过一个常见的问题:SQL Server不允许仅存储日期或者仅限时间 - 如果使用DateTime或者SmallDateme数据类型,则必须在同一列中存储日期和时间。
当然,我们可以将日期值作为字符串存储为字符串,如'1/1/2003'。
另一种替代方法是使用DateTime数据类型,然后使用一个日期和时间函数之一来仅从表中检索所需部分(日期或者时间)。
DATEADD:DATEADD 返回一个新的日期,该日期根据指定的间隔和数字递增或者递减。
DATEDIFF:DATEDIFF 从第二个日期中减去第一个日期以生成指定日期部分代码格式的值。
DATENAME : DATENAME 返回日期部分代码中指定的日期部分的字符串值。
DATEPART :此函数返回日期部分代码中指定的日期部分的整数值。
DAY、MONTH 和 YEAR DAY:返回天的整数值,MONTH 返回表示月份的整数,YEAR 返回表示评估日期的年份的整数。
GETDATE 和 CURRENT_TIMESTAMP :都返回当前日期和时间。 和 CURRENT_TIMESTAMP 返回格林威治标准时间(世界时坐标)。
返回当前日期和时间
GetDate和Current_Timestamp均返回当前日期和时间。
此示例演示了如何返回当前日期和时间,以及通用时间坐标(格林威治):
SELECT GETDATE(), Current Date and Time CURRENT_TIMESTAMP, -- Current Date and Time
示例
SELECT GETDATE()
将返回 2016-09-14 20:24:17.060
SELECT "今天日期是" + CONVERT(varchar(12), GETDATE(),101)
这个日期函数查询产生如下结果:
今天的日期是 01/01/2016