SQL语句如何从一个日期类型的数据中获取当中的年,月.日值是多少?

还有日期类型的数据是否可以相加减?
2024-11-13 23:08:09
推荐回答(2个)
回答1:

GetDate() 得到当前日期。
Year() 年/Month() 月/Day() 日期

SELECT YEAR(GETDATE()) AS Y,MONTH(GETDATE()) AS M,DAY(GETDATE()) AS D

Y M D
----------- ----------- -----------
2010 4 29

SELECT CONVERT(CHAR(10),GETDATE(),120) AS CC

CC
----------
2010-04-29

日期类型属于间距尺度,可以进行加减运算,没有自然原点。

SELECT DATEDIFF(DAY,CAST('2009-01-01' AS DATETIME),CAST('2009-03-11' AS DATETIME)) AS d
d
-----------
69

SELECT DATEadd(DAY,33,CAST('2009-01-01' AS DATETIME)) AS d
d
-----------------------
2009-02-03 00:00:00.000

对应函数方法等建议参见sqlserver的帮助文件,里边有详细的例子和说明。
不过这种厂家自定函数移植时候会很困难。

回答2:

getDate() 为取得当前的系统时间,你自己这台计算机的!
日期函数可以做加减运算,+1表示加一天,减也一样!