Sql-Server

SQL Server 有 Date_Format 函式嗎?

  • October 25, 2018

我發現的只是一個DateFormat我可以選擇的預定義列表,就像這樣

我記得在 MySQL(還有 PostgeSQL?)中,您可以定義您的日期格式:

DATE_FORMAT(now(),'&m_%Y') --for 02_2012 etc.

SQL Server 有同樣的東西嗎?我看到人們必須編寫一個函式來做這樣的事情,它有內置的嗎?


編輯:

我剛剛找到了這個DatePart功能。它可以將月份作為數字,但始終返回 1 位,即使我使用 datePart(MM, getdate())

還沒有。

您需要與樣式參數一起使用或與或CONVERT一起破解某些東西。DATEPARTDATENAME

SQL Server 2012 將具有FORMAT接受 .NET Framework 格式字元串的功能

句法:

FORMAT ( value, format [, culture ] )

範例用法

SELECT FORMAT(getdate(), 'dd/MM/yyyy', 'en-US' ) 

您始終可以使用 CLR 集成並創建自己的 UDF,在 2005 或 2008 年執行相同的操作。

如果您的目標只是格式化輸出並且不需要保留在 datetime 數據類型中,那麼使用帶有格式程式碼的 CONVERT 是一個很好的工具。可以在此處找到格式列表及其各自的程式碼:http: //msdn.microsoft.com/en-us/library/ms187928.aspx

引用自:https://dba.stackexchange.com/questions/12072