簡體   English   中英

SQL中的嵌套Case語句

[英]Nested Case Statement in SQL

我收到一個錯誤,說明錯過右括號,但我不能為我的生活找出我的陳述中的位置。

(CASE WHEN A.AUTH_STRT_DT > CD.SVC_STRT_DT THEN 
 (CASE WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) = 1 THEN '1 DAY BEFORE' 
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 2 AND 3 THEN '3 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) = 4 THEN '4 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 5 AND 21 THEN '21 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 22 AND 90 THEN '90 DAY BEFORE'
      ELSE 'OVER 90' END)  
WHEN A.AUTH_END_DT < CD.SVC_END_DT THEN 
  (CASE WHEN ABS(A.AUTH_END_DT < CD.SVC_END_DT) = 1 THEN '1 DAY AFTER' 
        WHEN ABS(A.AUTH_END_DT < CD.SVC_END_DT) BETWEEN 2 AND 3 THEN '3 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT < CD.SVC_END_DT) = 4 THEN '4 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT < CD.SVC_END_DT) BETWEEN 5 AND 21 THEN '21 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT < CD.SVC_END_DT) BETWEEN 22 AND 90 THEN '90 DAYS AFTER'
        ELSE 'OVER 90' END) 
ELSE '0 DAY' END) AS DAYSLAPSED      

ABS ( x < y )無效。 在第二部分中,請參閱用減號替換的條件。

(CASE WHEN A.AUTH_STRT_DT > CD.SVC_STRT_DT THEN 
 (CASE WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) = 1 THEN '1 DAY BEFORE' 
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 2 AND 3 THEN '3 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) = 4 THEN '4 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 5 AND 21 THEN '21 DAYS BEFORE'
      WHEN ABS(A.AUTH_STRT_DT - CD.SVC_STRT_DT) BETWEEN 22 AND 90 THEN '90 DAY BEFORE'
      ELSE 'OVER 90' END)  
WHEN A.AUTH_END_DT < CD.SVC_END_DT THEN 
  (CASE WHEN ABS(A.AUTH_END_DT - CD.SVC_END_DT) = 1 THEN '1 DAY AFTER' 
        WHEN ABS(A.AUTH_END_DT - CD.SVC_END_DT) BETWEEN 2 AND 3 THEN '3 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT - CD.SVC_END_DT) = 4 THEN '4 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT - CD.SVC_END_DT) BETWEEN 5 AND 21 THEN '21 DAYS AFTER'
        WHEN ABS(A.AUTH_END_DT - CD.SVC_END_DT) BETWEEN 22 AND 90 THEN '90 DAYS AFTER'
        ELSE 'OVER 90' END) 
ELSE '0 DAY' END) AS DAYSLAPSED   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM