1

Teradata 12 で数値 (200909) を 2009 年 9 月として表示する SQL は何ですか?

4

3 に答える 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 には詳しくありませんが、一般的なアプローチは次のようになります。

  1. 数値を日付に変換できる文字列に変換します (つまり、末尾に「01」を追加して「20090901」を取得します)。
  2. その文字列を日付型に変換します
  3. 日付関数を使用して「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 に答える