幾種SQL取日期部分的方法:一.convertconvert(varchar(10),getdate(),120) : varchar(10) 截取位數(shù)可以調(diào)節(jié),最多能顯示19位(varchar(19)) 如:2009-12-12 10:10:10 -> 2009-12-12
1 這些樣式值將返回不確定的結(jié)果。包括所有 (yy)(不帶世紀數(shù)位)樣式和一部分 (yyyy)(帶世紀數(shù)位)樣式。 2 默認值(style 0 或 100、9 或 109、13 或 113、20 或 120 以及 21 或 121)始終返回世紀數(shù)位 (yyyy)。 3 轉(zhuǎn)換為 datetime 時輸入;轉(zhuǎn)換為字符數(shù)據(jù)時輸出。 4 為用于 XML 而設(shè)計。對于從 datetime 或 smalldatetime 到字符數(shù)據(jù)的轉(zhuǎn)換,其輸出格式如上一個表所述。 5 回歷是有多種變體的日歷系統(tǒng)。SQL Server 使用科威特算法。
6 僅支持從字符數(shù)據(jù)轉(zhuǎn)換為 datetime 或 smalldatetime。僅表示日期或時間成分的字符數(shù)據(jù)轉(zhuǎn)換為 datetime 或 smalldatetime 數(shù)據(jù)類型時,未指定的時間成分設(shè)置為 00:00:00.000,未指定的日期成分設(shè)置為 1900-01-01。 7使用可選的時間區(qū)域指示符 (Z) 更便于將具有時區(qū)信息的 XML datetime 值映射到?jīng)]有時區(qū)的 SQL Server datetime 值。Z 是時區(qū) UTC-0 的指示符。其他時區(qū)則以 + 或 - 方向的 HH:MM 偏移量來指示。例如: 從 smalldatetime 轉(zhuǎn)換為字符數(shù)據(jù)時,包含秒或毫秒的樣式將在這些位置上顯示零。使用相應(yīng)的 char 或 varchar 數(shù)據(jù)類型長度從 datetime 或 smalldatetime 值轉(zhuǎn)換時,可截斷不需要的日期部分。
二.DATEPART返回代表指定日期的指定日期部分的整數(shù)。 語法DATEPART ( datepart ,date ) 參數(shù)datepart 是指定應(yīng)返回的日期部分的參數(shù)。下表列出了 Microsoft? SQL Server? 識別的日期部分和縮寫。
week (wk, ww) 日期部分反映對 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定義了 week 日期部分的開始數(shù)字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此處 xxxx 代表任一年。 weekday (dw) 日期部分返回對應(yīng)于星期中的某天的數(shù),例如:Sunday = 1、Saturday = 7。weekday 日期部分產(chǎn)生的數(shù)取決于 SET DATEFIRST 設(shè)定的值,此命令設(shè)定星期中的第一天。 date 是返回 datetime 或 smalldatetime 值或日期格式字符串的表達式。對 1753 年 1 月 1 日之后的日期用datetime 數(shù)據(jù)類型。更早的日期存儲為字符數(shù)據(jù)。當(dāng)輸入 datetime 值時,始終將其放入引號中。因為 smalldatetime 只精確到分鐘,所以當(dāng)用 smalldatetime 值時,秒和毫秒總是 0。 如果只指定年份的最后兩位數(shù)字,則小于或等于"兩位數(shù)年份截止期"配置選項的值的最后兩位數(shù)字的數(shù)字所在世紀與截止年所在世紀相同。大于該選項的值的最后兩位數(shù)字的數(shù)字所在世紀為截止年所在世紀的前一個世紀。例如,如果 two digit year cutoff 為 2049 (默認),則 49 被解釋為 2049,2050 被解釋為 1950。為避免模糊,請使用四位數(shù)的年份。 有關(guān)時間值指定的更多信息,請參見時間格式。有關(guān)日期指定的更多信息,請參見 datetime 和 smalldatetime。
|
|
|