【发布时间】:2015-10-09 16:13:57
【问题描述】:
尝试将以下SQL转换为CR中的Case语句:
CASE
WHEN Datediff(dd, getdate(), THS.Q_LoanInfo.DueDate) BETWEEN - 59 AND - 30 THEN '1-[Delq 30-59]'
WHEN Datediff(dd, getdate(), THS.Q_LoanInfo.DueDate) BETWEEN - 179 AND - 60 THEN '2-[Delq 60-179]'
WHEN Datediff(dd, getdate(), THS.Q_LoanInfo.DueDate) BETWEEN - 359 AND - 180 THEN '3-[Delq 180-359]'
WHEN Datediff(dd, getdate(), THS.Q_LoanInfo.DueDate) < - 360 THEN '5-[Delq 360+]' ELSE NULL
不确定 CASE 或 IF/THEN 是否更适合于此。将 'dd' (not recognized in CR?) 替换为 DAY。还将Getdate() 替换为CurrentDate,将BETWEEN 替换为TO。
if Datediff(Day,{Q_LoanInfo.DueDate},currentdate) to - 59 AND - 30 THEN '1-[Delq 30-59]' else
if Datediff(Day,{Q_LoanInfo.DueDate},CurrentDate) to - 179 AND - 60 THEN '2-[Delq 60-179]' else
if Datediff(Day,{Q_LoanInfo.DueDate},CurrentDate) to - 359 AND - 180 THEN '3-[Delq 180-359]' else
if Datediff(Day,{Q_LoanInfo.DueDate},CurrentDate) <= - 360 THEN '5-[Delq 360+]' ELSE 'NULL'
目前收到以下错误:“没有为该函数提供足够的参数”。
谁能告诉我我做错了什么?这应该填充日期范围桶。
【问题讨论】:
-
[Delq 30-59]是什么?
标签: if-statement crystal-reports case datediff