簡體   English   中英

如何在SQL case語句中使用> =條件?

[英]how to use > = condition in sql case statement?

我試圖在語句中放置> =條件,但不允許此條件。

case 
   when ct.CRS_CAREER_LVL_CD = 'G' then 'Graduate '
   when ct.CRS_CAREER_LVL_CD = 'L'  then 'Law '
   when convert(int, left(ct.CRS_CATLG_NO, 4) > = 99 then 'Upper Division' 
   else 'Lower Division'
end as courseLevelName

還有其他方法嗎?

 when convert(int,left(ct.CRS_CATLG_NO,4)
             ^        ^                 ^           ^
            OPEN     OPEN              CLOSE      CLOSE ? 

猜測問題是,的左4個字符並不總是整數,如果您使用的是SQL Server 2012或更高版本,則可以使用TRY_CONVERT()

case when ct.CRS_CAREER_LVL_CD = 'G' then 'Graduate '
     when ct.CRS_CAREER_LVL_CD = 'L'  then 'Law '
     when TRY_CONVERT(int,left(ct.CRS_CATLG_NO,4)) > = 99   then  'Upper Division' 
     else 'Lower Division'
end as courseLevelName

編輯:似乎您缺少結束符) ,如果不是錯字,則可能是問題所在,如果仍然出現錯誤,則可能是非INT。

暫無
暫無

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

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