我有下面的代码,但它抛出了一个错误。我如何获得日期从2018-01-01开始的12周并使用case语句?
select
case when
date between cast('2018-01-01' as date) and DATE_ADD('week',12,cast('2018-01-01' as date)) -interval '1' day
then 'in 12 weeks' as period
from aaa limit 1
您的case
语句没有关闭end
:
WITH dataset AS (
SELECT * FROM (VALUES
(DATE '2018-01-03'),
(DATE '2018-04-04')
) AS t (date))
SELECT
CASE
WHEN date BETWEEN Cast('2018-01-01' AS date) AND date_add('week', 12, cast('2018-01-01' AS date)) - INTERVAL '1' day
THEN 'in 12 weeks'
END AS period
FROM
dataset
LIMIT
1