집 >데이터 베이스 >MySQL 튜토리얼 >MySQL 흐름 제어 기능을 사용하는 방법
MySQL에서 프로세스 제어 함수는 저장 프로시저나 함수의 실행 흐름을 제어할 수 있는 명령문을 의미합니다. 다음은 일반적으로 사용되는 몇 가지 프로세스 제어 함수입니다.
는 IF……ELSE…
# 如果expr1为true,则返回expr2,否则返回expr3 IF(expr1,expr2,expr3)
IF 함수는 다음과 같이 삼항 연산자와 매우 유사하다는 것을 알 수 있습니다.
// 比较最大数 int a=10; int b=5; // 比较 int bigNum=a>b?a:b;
즉, IF 함수의 세 매개변수 중 expr1은 조건식이고 최종 결과는 true 또는 false 조건이 true(true)이면 expr2를 반환하고, 조건이 true(false)이면 expr3을 반환합니다. 예:
SELECT IF(10>5,10,5) AS bigNum;
도 IF의 효과를 얻습니다...
# 如果expr1不为NULL,则返回expr1,否则返回expr2 IFNULL(expr1,expr2)
는 원래 조건식을 expr1이 null인지 여부를 결정하는 조건식으로 변환합니다. null이 아니면 그 자체(expr1)입니다. 비어 있으면 expr2를 표시합니다. 비어 있고(true) 비어 있지 않으면(false) expr3을 표시합니다
3.CASE function
case 함수에는 두 가지 다른 효과가 있습니다switch casejava의 switch case 효과와 동일합니다. 즉, switch의 변수 표현식 값을 케이스 뒤의 상수와 비교합니다.SELECT IFNULL(null,'不空') AS notNull
SELECT IF(null IS NULL,null,'不空') AS notNull
함수 구조
case 판단할 변수(필드) 또는 표현식상수 1이면 표시할 값 1(또는 명령문 1);상수 2이면 값 2(또는 명령문 2)를 표시합니다.
......else 값 n 또는 명령문 n을 표시합니다.
end경우에는 콜론을 쓰지 않고 직접 상수 값을 추가하고, then을 사용하세요
참고:
은 Java와 다릅니다. 스위치 대신 대소문자를 직접 작성합니다. 그리고 중괄호는 없습니다
int week=3; switch (week){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("非法数据"); break; }SQL로 표현:
# NOW()函数用于获取当前日期和时间, # WEEKDAY(date)函数,表示返回date对应的工作日索引, # 因为索引从0开始,所以加1;也可以不加1,将when的常量改为工作日索引也可 SELECT CASE WEEKDAY(NOW())+1 WHEN 1 THEN '星期一' WHEN 2 THEN '星期二' WHEN 3 THEN '星期三' WHEN 4 THEN '星期四' WHEN 5 THEN '星期五' WHEN 6 THEN '星期六' WHEN 7 THEN '星期日' ELSE '非法数据' END AS `week`;
함수 구조:
case조건 1이면 값 1 또는 명령문 1이 표시되고,조건 2이면 값 2 또는 명령문 2가 표시됩니다.
. .....else 표시할 값 n 또는 명령문 n
end다음에는 조건이 없으며 조건이 뒤에 오면 결과는 true 또는 false입니다. 조건이 충족되면 then 을 실행하고 다음 값이나 문을 표시합니다.
참고:
case
위 내용은 MySQL 흐름 제어 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!