偶然的原因又觸碰了sql server2000,重新玩了下獲取日期的方法,下面做下記錄,以防以後用。
在SQL Server裏有個getdate()的函數是用來獲取日期的,不過精確到秒,比如查詢select getdate();
出來的結果爲2009-02-26 15:57:35.357,一般用的比較多的是隻獲取日期,並不需要時間,這時候就需要用到convert函數了。
在函數CONVERT()中你可以使用許多種不同風格的日期和時間格式。下表顯示了所有的格式。
日期和時間的類型:
類型值 標準
輸出
0 Default mon dd yyyy
hh:miAM
1 USA
mm/dd/yy
2 ANSI
yy.mm.dd
3 British/French
dd/mm/yy
4 German
dd.mm.yy
5 Italian
dd-mm-yy
6 - dd mon
yy
7 - mon
dd,yy
8 -
hh:mi:ss
9 Default +
milliseconds--mon dd yyyy hh:mi:ss:mmmAM(or
)
10 USA mm-dd-yy
11 JAPAN
yy/mm/dd
12 ISO
yymmdd
13 Europe Default + milliseconds--dd
mon
yyyy
hh:mi:ss:mmm(24h)
14 -
hh:mi:ss:mmm(24h)
類型0,9,和13總是返回四位的年。對其它類型,要顯示世紀,把style值加上100。類型13和14返回24小時時鐘的時間。類型0,7,和13返回的月份用三位字符表示(用Nov代表November).
對錶中所列的每一種格式,你可以把類型值加上100來顯示有世紀的年(例如,00年將顯示爲2000年)。例如,要按日本標準顯示日期,包括世紀,你應使用如下的語句:
SELECT
CONVERT(VARCHAR(30),GETDATE(),111)
在這個例子中,函數CONVERT()把日期格式進行轉換,顯示爲1997/11/30
方法:
select convert(varchar(8),getdate(),112)
--------
20090226
select convert(varchar(10),getdate(),120)
-----------
2009-02-26
補充:
1、這裏的varchar(10),指的是獲取的字符段的個數,比如原本是2009-02-26 15:57:35.357,爲了只獲取2009-02-26字段,算了下,一共10個字符,所以選擇varchar(10),又比如爲varchar(7),則爲2009-02。
2、convert(varchar(10),getdate(),120)裏的120是顯示日期的格式。