プロプログラマ -Flex,Air,C#,Oracle,PHP-

プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます

[SQLServer] 日付と時刻のフォーマット

SQLServerで日付のフォーマットといえば、昔からCONVERT関数を使うのが普通でした。

SELECT CONVERT ( VARCHAR, GETDATE(), 111 ) as 日付1
      , CONVERT( VARCHAR , GETDATE (), 108 ) as 時刻1

日付1 時刻1
2013/11/15 13:33:32

ですが、今のSQLServerには、FORMAT関数というのも使えるようです。

SELECT
      ,FORMAT( GETDATE (), 'yyyy/MM/dd' ) as 日付2
      , FORMAT( GETDATE (), 'HH:mm:ss' ) as 時刻2

日付2 時刻2
2013/11/15 13:33:32

この指定では、どちらも同じ結果が返ります。
VBなどの言語に慣れている自分からすると、FORMAT関数のほうが随分分かりやすく感じます。
使い方もVBのそれとほぼ同じです。

時刻の分は表示したくない時など、柔軟に対応できます。
どうも前から、CONVERT関数は馴染めなかったんですよね。

パフォーマンスの面からどちらが優れているのか分からなかったのですが、好みに合わせてといったところでしょうか。

FORMAT関数はSQLServer2008 R2以降で使えます。
対象バージョンが使える方にはオススメです。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です