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


8

私が見つけたすべては、このDateFormatように、私が選択できる事前定義のリストです

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

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

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


編集:

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



1
通常、フォーマットはデータベースではなくクライアントで処理する必要があります。そうは言っても、データベース出力をフォーマットする必要がある場合、Martin Smithはすでにオプションを提供しています。
JSR 2012

回答:


16

未だに。

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を作成できます。


ああ、2012!まあ、私はあなたが言ったようにUDFを書くと思います。ありがとう
キングチャン

それは素晴らしいでしょう。
ゴードンベル

1
@KingChanとMartin:SQLCLRを使用してSQL Server 2005/2008/2008 R2でこれを実現する場合、SQL#の無料バージョン(私が作成者ですが、Date_Formatは無料です)をダウンロードするオプションが常にあります。その場合、コーディングを行う必要はありません。両方のいくつかの例とこのSOのSQL#.Date_Format組み込みの例があります。SQLServerでカスタム形式で日付を取得する方法はありますか?:-)FORMAT
ソロモンルツキー16年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.