2012-01-31 24 views
2

私は、 "YYYY/MM/DD"という文字列にdb2日付をフォーマットしようとしています。日付を文字列にフォーマットする

私がこれまで持って最善です:

SELECT CAST(YEAR(MYDATE) AS VARCHAR(4)) || '/' 
|| CAST(MONTH(MYDATE) AS VARCHAR(2)) || '/' 
|| RIGHT('00' || CAST(DAY(MYDATE) AS VARCHAR(2)), 2) FROM MYCALENDAR 

はこれを行うには良い、terser方法はありますか?

ps:ロケールを使用することはオプションではありません。

+0

あなたは(つまり、誰かが文字列フィールド保存される)日付の書式を設定している理由_database_理由がありますか?表示用の書式設定は_view_コードの仕事であるため、**データベースではありません。 –

答えて

8

IBM documentationに応じて、以下の作業をする必要があります:

SELECT VARCHAR_FORMAT(MYDATE, 'YYYY/MM/DD') FROM MYCALENDAR; 
+0

SQL0440N互換性のある引き数を持つタイプ "FUNCTION"の "FORMAT"という名前の許可ルーチンが見つかりませんでした。 SQLSTATE = 42884 [DB2クライアント9.7.1のコマンドライン・プロセッサー] – BlakBat

+0

Hmpf、私に何かを混同しているかもしれません –

+1

エラーが見つかりました。 IBMによると、ルーチンは 'VARCHAR_FORMAT'と呼ばれます。私は自分の答えを更新しました。 –

関連する問題