SQL Server 日期格式和日期操作


一,日期的格式化

格式化是指把日期類型(Date)、日期和時間類型轉化為字符類型,通常使用CONVERT()和FORMAT()函數。

1,傳統的CONVERT()

SQL Server控制日期的的顯示格式,通常使用CONVERT()函數,通過控制style參數來控制日期顯示的格式,但是,style很多,不利於記憶。

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

符合東方人閱讀習慣的style及其顯示格式如下:

  • 101: mm/dd/yyyy
  • 110: mm-dd-yyyy
  • 111: yyyy/mm/dd
  • 112: yyyymmdd
  • 120: yyyy-mm-dd hh:mm:ss
  • 121: yyyy-mm-dd hh:mm:sssssss

CONVERT()函數的style是數字,記憶起來比較困難,並且只能按照系統定義的格式來顯示,不夠靈活。SQL Server提供更為靈活的轉換函數FORMAT()。

2,便利的FORMAT()函數

FORMAT()函數,可以方便和靈活地控制數值、日期和時間類型的顯示格式,通常情況下,FORMAT()函數主要用於格式化顯示date/time類型和數值類型,參數format用於指定顯示的格式,給予用戶對格式更自由地控制,culture參數是可選的,用於指定顯示的語言,該函數返回值的數據類型是NVARCHAR,如果格式轉換失敗,該函數返回NULL:

FORMAT ( value, format [, culture ] ) 

參數format使用#表示一個數值,參數 format 使用以下占位符來表示日期/時間的格式:

  • yyyy、MM、dd:表示年、月、日
  • hh:mm:ss fffffff:表示時、分、秒、毫秒
  • 使用“/”,“-”等作為連接各個部分(part)的分割符號

(1)把date/time格式化

在format參數中指定日期/時間顯示的格式,以特定的格式: “yyyy:MMdd hh:mm:ss fffffff” 顯式日期/時間,例如:

select format(SYSDATETIME(),'yyyy-MM-dd hh:mm:ss fffffff')

(2)轉換數值類型

在參數format中使用#代表一個數字,使用相應的連接符,拼接成數字的格式字符,例如:

FORMAT(123456789,'###-##-####') AS 'Custom Number Result

一,日期的格式化

格式化是指把日期類型(Date)、日期和時間類型轉化為字符類型,通常使用CONVERT()和FORMAT()函數。

1,傳統的CONVERT()

SQL Server控制日期的的顯示格式,通常使用CONVERT()函數,通過控制style參數來控制日期顯示的格式,但是,style很多,不利於記憶。

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

符合東方人閱讀習慣的style及其顯示格式如下:

  • 101: mm/dd/yyyy
  • 110: mm-dd-yyyy
  • 111: yyyy/mm/dd
  • 112: yyyymmdd
  • 120: yyyy-mm-dd hh:mm:ss
  • 121: yyyy-mm-dd hh:mm:sssssss

CONVERT()函數的style是數字,記憶起來比較困難,並且只能按照系統定義的格式來顯示,不夠靈活。SQL Server提供更為靈活的轉換函數FORMAT()。

2,便利的FORMAT()函數

FORMAT()函數,可以方便和靈活地控制數值、日期和時間類型的顯示格式,通常情況下,FORMAT()函數主要用於格式化顯示date/time類型和數值類型,參數format用於指定顯示的格式,給予用戶對格式更自由地控制,culture參數是可選的,用於指定顯示的語言,該函數返回值的數據類型是NVARCHAR,如果格式轉換失敗,該函數返回NULL:

FORMAT ( value, format [, culture ] ) 

參數format使用#表示一個數值,參數 format 使用以下占位符來表示日期/時間的格式:

  • yyyy、MM、dd:表示年、月、日
  • hh:mm:ss fffffff:表示時、分、秒、毫秒
  • 使用“/”,“-”等作為連接各個部分(part)的分割符號

(1)把date/time格式化

在format參數中指定日期/時間顯示的格式,以特定的格式: “yyyy:MMdd hh:mm:ss fffffff” 顯式日期/時間,例如:

select format(SYSDATETIME(),'yyyy-MM-dd hh:mm:ss fffffff')

(2)轉換數值類型

在參數format中使用#代表一個數字,使用相應的連接符,拼接成數字的格式字符,例如:

FORMAT(123456789,'###-##-####') AS 'Custom Number Result


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM