2

Teradata SQL で年の最初の日を特定する方法はありますか?

たとえば、これを使用して月の最初の日を見つけます。

SELECT dt + (1 - EXTRACT(DAY FROM dt)) AS dt

を使用して年を直接抽出できることはわかってYEAR()いますが、結果を日付として出力したいので、一部の外部チャートで機能します。

私はこれを試しましたが、日付の先頭にたくさんのスペースを追加しました:

CONCAT(YEAR(dt),'-01-01')
4

5 に答える 5

4

dnoeth のアプローチはジョブの長期的な最適化には優れていますが、私の意見では、簡単な答えは Jeffrey のアプローチか次のいずれかです。どちらがより少ないリソースを使用するかわからない:

select cast(extract(year from current_date)||'0101' as date format 'yyyymmdd');
于 2015-12-01T22:47:59.013 に答える
1

理解した:

ADD_MONTHS(dt, -(EXTRACT(MONTH FROM dt) - 1)) + (1 - EXTRACT(DAY FROM dt))
于 2013-08-28T20:34:28.713 に答える
0

これを試して。

日付を選択- 年(日付)+1

于 2013-08-28T20:55:04.090 に答える