mysql中if…else的方法
第一種if陳述句做為運算式使用,語法格式如下:
IF(expr1,expr2,expr3)
SELECT
IF(1>0, '真', '假')
FROM
Table
多條件嵌套:
SELECT
IF(1>0, IF(2>1, '真', '假'), '假')
FROM
Table
CASE WHEN
SELECT
CASE 1
WHEN 1 THEN '欄位的值是1'
WHEN 2 THEN '欄位的值是2'
ELSE '欄位的值3'
END
FROM
Table
注意:THEN后邊的值與ELSE后邊的值型別應一致,否則會報錯,
第二種:IF…ELSE…做為流程控制陳述句使用,語法格式如下:
IF search_condition THEN
RETURN()
ELSEIF search_condition THEN
RETURN()
ELSE
RETURN()
END IF
例如第N高薪水的完善
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
if N<0 then
RETURN (select min(Salary) from Employee);
else
SET N = N-1;
RETURN (
select ifnull((select distinct Salary from Employee order by Salary desc limit N,1),null) as NthHighestSalay );
end if;
END
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/65893.html
標籤:其他
