web-dev-qa-db-ja.com

SQL ServerにはDate_Format関数がありますか?

私が見つけたのは this のように、私が選択できる事前定義されたDateFormatのリストです。

MySQL(およびPostgeSQLでも?)で覚えているように、日付形式を定義できます。

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

SQL Serverには同じ機能がありますか?そのようなことをするために関数を書かなければならない人がいると思いますが、組み込みの関数はありますか?


編集:

DatePart関数を見つけました。月を数値としてとることができますが、datePart(MM, getdate())を使用しても、常に1桁を返します

8
King Chan

未だに。

CONVERTをスタイルパラメータとともに使用するか、何かを DATEPART または DATENAME と組み合わせてハッキングする必要があります。

SQL Server 2012には FORMAT 関数がありますが、.NET Framework形式の文字列を受け入れます

構文:

FORMAT ( value, format [, culture ] )

使用例

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

常にCLR統合を使用して、2005または2008で同じことを行う独自のUDFを作成できます。

16
Martin Smith

目的が単純にフォーマットされた出力であり、それが日時データ型のままである必要がない場合、フォーマットコードでCONVERTを使用することは優れたツールです。形式とそれぞれのコードのリストは、次の場所にあります。 http://msdn.Microsoft.com/en-us/library/ms187928.aspx

0
hqrsie