如何在select语句中使用if

时间:2015-01-23 01:03:34

标签: select if-statement case sql

我的目标是:

选择姓名,地址,日期,工作时间 { 如果按小时计算> 8然后(小时工作-8)作为OT 别的'' } 来自testtable

我怎样才能做到这一点。我试图使用大小写,但我不断收到有关无法将varchar转换为INT的错误。我需要在一个选择声明中。

1 个答案:

答案 0 :(得分:4)

问题是您使用hoursworked-8建立列的类型,即列应该是int,但是您还要选择''是varchar。请改用NULL或0。

SELECT name, address, day, CASE WHEN hoursworked > 8 THEN hoursworked-8 ELSE NULL END AS overtime