ここでの最初の 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);