2015-12-08 1 views
1

Я пытаюсь разместить условие> = condition в инструкции, но это не позволяет это условие.Как использовать> = условие в 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 

Есть ли другой способ сделать это?

+0

Вы пытались удалить пробел в '> ='? –

+0

да, я попытался удалить пространство, все еще бросая ошибку. – sam

+2

Какая ошибка вы видите? –

ответ

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

Гадание проблема в том, что левые 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 

Edit: Похоже, вы были отсутствует закрытие ), если это не была опечатка, то это, скорее всего, проблема, если все равно получить ошибку, то может быть не INT.