2

ここでの最初の 2 つのクエリは正常に機能します。

SELECT * FROM sys_calendar.calendar
WHERE calendar_date BETWEEN CAST('2012-06-01' AS DATE) - 365 
                        AND CAST('2013-06-01' AS DATE) - 1;

SELECT * FROM sys_calendar.calendar
WHERE calendar_date IN ('2012-06-01', '2013-06-03');

ただし、次の 2 つのクエリはエラーをスローします。

選択に失敗しました。[3706] 構文エラー: ')' と ',' の間に何かが必要です。

が IN 句を破棄しているように見えますが、そのCAST理由がわかりません。ここで何が起こっているのですか?

SELECT * FROM sys_calendar.calendar
WHERE calendar_date IN (CAST('2012-06-01' AS DATE) 
                      , CAST('2013-06-03' AS DATE));

SELECT * FROM sys_calendar.calendar
WHERE calendar_date IN (CAST('2012-06-01' AS DATE) - 365
                      , CAST('2013-06-01' AS DATE) - 1);
4

2 に答える 2