我是Teradata的新手。这里的情况是:??在Teradata查询中声明参数或者If-then-else
如果CURRENT_DATE是一个月的< 15再上一个月份的开始日期参数= 1和结束日期PARAM =最后的当月日期
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
否则,如果CURRENT_DATE> =当月日期和结束日期PARAM当月=最后日期起计15则开始日期参数= 1
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
我能在电子计算日期但无法弄清楚:
#1)如何把它们放在参数中。如果我可以把它们放在PARAMS那么我需要做的就是
SELECT ... FROM ViewA
WHERE date BETWEEN ?Startdate AND ?EndDate
OR #2)写IF-THEN-ELSE
If Current_date is < 15 of month
SELECT ... FROM ViewA
WHERE Date BETWEEN
ADD_MONTHS((DATE - EXTRACT(DAY FROM DATE)+1), -1) AND ADD_MONTHS(LAST_DAY(DATE),0)
ELSE
SELECT ... FROM ViewA
WHERE date BETWEEN
ADD_MONTHS((DATE - EXTRACT(DAY FROM DATE)+1), 0) AND ADD_MONTHS(LAST_DAY(DATE),0))
END IF
请指导如何实现#1或#2。我无法在teradata中创建函数或存储过程
您的专栏是否真的名为'日期'?如果是这样,你必须把它放在双引号中。不知道它是否会这样工作,或与实际日期比较。 – ULick
不,它没有命名为'日期',但是它是日期字段 – SilverFish