【问题标题】:Crystal CASE Datediff range using getdateCrystal CASE Datediff 范围使用 getdate
【发布时间】: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


【解决方案1】:
Select Datediff(Day,currentdate,{Q_LoanInfo.DueDate}) 

   Case  30 to 59    : '1-[Delq 30-59]'
   Case  60 to 179   : '2-[Delq 60-179]' 
   Case  180 to 359  : '3-[Delq 180-359]' 
   Case  >= 360      : '5-[Delq 360+]' 
   Default           : 'NULL'
;

【讨论】:

  • 有道理,但仍然给我“没有为这个函数提供足够的参数”错误。另外,不喜欢 >=360,但我可以在其中添加一个范围以使该部分暂时起作用。
  • whups 我错过了明显的错误 Select Datediff('d',currentdate,{Q_LoanInfo.DueDate}) ... replace Day with 'd'
【解决方案2】:

对于语法,请务必查看在线帮助,然后尝试编写公式

试试这个:

if (Datediff("d",{Q_LoanInfo.DueDate},currentdate)  in (- 59 to - 30 ))THEN '1-[Delq 30-59]' 
else
if (Datediff("d",{Q_LoanInfo.DueDate},CurrentDate) in (- 179 to - 60)) THEN '2-[Delq 60-179]' 
else
if Datediff("d",{Q_LoanInfo.DueDate},CurrentDate) in (- 359 to - 180 ))THEN '3-[Delq 180-359]' 
else
if Datediff("d",{Q_LoanInfo.DueDate},CurrentDate)   <=  - 360) THEN '5-[Delq 360+]' 
ELSE 'NULL'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多