簡體   English   中英

操作數類型沖突:日期與帶有 CASE WHEN 的 int 不兼容

[英]Operand type clash: date is incompatible with int with CASE WHEN

我對CASE WHEN進行了以下查詢:

select 
CASE 
    WHEN DATE_ONE > 0 THEN 'ALREADY'
    WHEN DATE_TWO > 0 THEN 'PENDING'
    ELSE 'TBA' END AS ETA
,PH
from FactTable

ONE_DATE 和 TWO_DATE 具有日期格式列,但結果錯誤帶有詳細信息:

操作數類型沖突:日期與 int 不兼容

謝謝

0 是一個int並且您正在嘗試將它與date進行比較。

您可以嘗試選擇一個日期('1900-01-01')或使用 null 值進行有效比較。

如果要與 CASE 語句中的天數進行比較,請使用如下:

select 
CASE 
    WHEN DATEPART(DAY,DATE_ONE) > 0 THEN 'ALREADY'
    WHEN DATEPART(DAY,DATE_TWO) > 0 THEN 'PENDING'
    ELSE 'TBA' END AS ETA
,PH
from FactTable

暫無
暫無

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

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