mysql中if...Elseの方法
mysqlにおけるif...elseの方法
最初のif文は式として使用され、構文フォーマットは次のとおりです.
複数条件ネスト:
CASE WHEN
第二種類:IF…ELSE…プロセス制御文として使用し、文法形式は以下の通りである.
例えばN番目に高い給料の完備
最初の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