Teradata 12 で数値 (200909) を 2009 年 9 月として表示する SQL は何ですか?
1898 次
3 に答える
6
Teradata は、次の方法で日付を整数として格納します。
(year - 1900) * 10000 + (month * 100) + day
したがって、年から 1900 を削除し、1 日を追加して数値を有効な日付にし、月と年のみを表示する形式にキャストします。
SELECT CAST(CAST((200909 - 190000) * 100 + 1 AS DATE FORMAT 'm3by4') AS CHAR(8));
于 2009-10-21T00:58:10.833 に答える
1
Teradata には詳しくありませんが、一般的なアプローチは次のようになります。
- 数値を日付に変換できる文字列に変換します (つまり、末尾に「01」を追加して「20090901」を取得します)。
- その文字列を日付型に変換します
- 日付関数を使用して「2009 年 9 月」をレンダリングします (おそらく月関数と年関数)
幸運を祈ります。Google 検索で、上記の各手順の進め方がわかると思います。
于 2009-10-20T20:56:20.787 に答える
1
select cast(cast(('200909'(date, format 'y4mm')) as format 'm3by4') as char(10))
于 2012-09-18T10:15:06.680 に答える