带有if else的SQL语句

时间:2014-03-19 06:57:58

标签: sql if-statement

我希望基于if else条件输出SQL语句。

对于Ex:

select salary from EMP

EMP表有一个DOJ列。

现在我希望输出为' - ',如果DOJ少于90天。

我该怎么做?

4 个答案:

答案 0 :(得分:2)

在sql-server

 select *,case when DATEDIFF(DAY,DOJ,getdate()) <=90 then '-' else null end as mytest
    from tbale

答案 1 :(得分:1)

SELECT CASE WHEN (DATEDIFF(DAY,DOJ,getdate()) < 90) then '-' else cast(Salary as varchar(15)) end as Salary
FROM EMP

答案 2 :(得分:0)

对于大多数数据库服务器,您应该使用CASE,但MySQL提供了一个快捷方式:

SELECT IF(DOJ<90, '-', salary) FROM EMP;

答案 3 :(得分:0)

select IIF ( DOJ < 90 , '-', salary ) as FormattedSalary
from EMP