MySQL 흐름 제어 기능을 사용하는 방법

WBOY
풀어 주다: 2023-05-28 15:58:17
앞으로
866명이 탐색했습니다.

MySQL에서 프로세스 제어 함수는 저장 프로시저나 함수의 실행 흐름을 제어할 수 있는 명령문을 의미합니다. 다음은 일반적으로 사용되는 몇 가지 프로세스 제어 함수입니다.

1. IF 함수

는 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;
로그인 후 복사

MySQL 흐름 제어 기능을 사용하는 방법

2. IFNULL 함수

도 IF의 효과를 얻습니다...

# 如果expr1不为NULL,则返回expr1,否则返回expr2 IFNULL(expr1,expr2)
로그인 후 복사

는 원래 조건식을 expr1이 null인지 여부를 결정하는 조건식으로 변환합니다. null이 아니면 그 자체(expr1)입니다. 비어 있으면 expr2를 표시합니다. 비어 있고(true) 비어 있지 않으면(false) expr3을 표시합니다

3.CASE functionMySQL 흐름 제어 기능을 사용하는 방법

case 함수에는 두 가지 다른 효과가 있습니다

switch case

java의 switch case 효과와 동일합니다. 즉, switch의 변수 표현식 값을 케이스 뒤의 상수와 비교합니다.

SELECT IFNULL(null,'不空') AS notNull
로그인 후 복사

SQL로 표현:

SELECT IF(null IS NULL,null,'不空') AS notNull
로그인 후 복사

함수 구조

case 판단할 변수(필드) 또는 표현식

상수 1이면 표시할 값 1(또는 명령문 1);MySQL 흐름 제어 기능을 사용하는 방법상수 2이면 값 2(또는 명령문 2)를 표시합니다.

......

else 값 n 또는 명령문 n을 표시합니다.

end


참고:



은 Java와 다릅니다. 스위치 대신 대소문자를 직접 작성합니다. 그리고 중괄호는 없습니다

경우에는 콜론을 쓰지 않고 직접 상수 값을 추가하고, then을 사용하세요
  • 그 뒤에 표시된 값이 있으면 세미콜론을 추가할 필요가 없습니다. then 뒤에는 세미콜론을 추가해야 합니다.
  • when……then…… 여러 개의 문이 있을 수 있습니다.
  • 기본값은 else입니다.
  • 은 end
  • 로 끝납니다. 4. 다중 IF
  • 는 Java의 다중 if 판단과 유사합니다.

    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이 표시되고,MySQL 흐름 제어 기능을 사용하는 방법조건 2이면 값 2 또는 명령문 2가 표시됩니다.

    . .....

    else 표시할 값 n 또는 명령문 n

    end


    참고:



    case

    다음에는 조건이 없으며 조건이 뒤에 오면 결과는 true 또는 false입니다. 조건이 충족되면 then 을 실행하고 다음 값이나 문을 표시합니다.
    • 마찬가지로 then 뒤에 표시된 값이 있으면 세미콜론을 추가할 필요가 없습니다. then 뒤에 문이 있으면 세미콜론은 다음과 같습니다. 필수의.

    위 내용은 MySQL 흐름 제어 기능을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!