찾다
데이터 베이스MySQL 튜토리얼MySQL에서 if 문을 사용하는 방법

Mysql의 if는 저장 프로시저에서 표현식이나 프로세스 제어 문으로 사용할 수 있습니다. 이 기사에서는 주로 mysql의 if 문을 사용하는 방법에 대해 설명합니다.

IF 표현식

IF(expr1,expr2,expr3)IF(expr1,expr2,expr3)

如果 expr1 是TRUE (expr1 0 and expr1 NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

select *,if(sva=1,"男","女") as ssva from taname where sva != ""

作为表达式的if也可以用CASE when来实现:

select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''

在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。

例如:

SELECT CASE 1 WHEN 1 THEN 'one'
  WHEN 2 THEN 'two' 
   ELSE 'more' ENDas testCol

将输出one

IFNULL(expr1,expr2)

假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。

mysql> SELECT IFNULL(1,0);
        -> 1mysql> SELECT IFNULL(NULL,10);
        -> 10mysql> SELECT IFNULL(1/0,10);
        -> 10mysql> SELECT IFNULL(1/0,'yes');
        -> 'yes'

IFNULL(expr1,expr2)

expr1이 TRUE(expr1 0 및 expr1 NULL)인 경우 IF()는 다음 값을 반환합니다. expr2이고, 그렇지 않으면 반환 값은 expr3입니다. IF()의 반환 값은 상황에 따라 숫자 값 또는 문자열 값입니다.

IF search_condition THEN 
    statement_list  
[ELSEIF search_condition THEN]  
    statement_list ...  [ELSE 
    statement_list]  END IF

if는 다음과 같은 경우 CASE를 사용하여 표현식으로 구현할 수도 있습니다.

create procedure dbname.proc_getGrade  
(stu_no varchar(20),cour_no varchar(10))  BEGIN declare stu_grade float;  
select grade into stu_grade from grade where student_no=stu_no and course_no=cour_no;  
if stu_grade>=90 then 
    select stu_grade,&#39;A&#39;;  elseif stu_grade<90 and stu_grade>=80 then 
    select stu_grade,&#39;B&#39;;  elseif stu_grade<80 and stu_grade>=70 then 
    select stu_grade,&#39;C&#39;;  elseif stu_grade70 and stu_grade>=60 then 
    select stu_grade,&#39;D&#39;;  else 
    select stu_grade,&#39;E&#39;;  end if;  END

첫 번째 솔루션의 반환 결과에서 value=compare-value. 두 번째 시나리오의 반환 결과는 첫 번째 시나리오의 실제 결과입니다. 일치하는 결과 값이 없으면 ELSE 이후의 결과가 반환됩니다. ELSE 부분이 없으면 반환 값은 NULL입니다.

예:

rrreee

는 다음을 출력합니다

IFNULL(expr1,expr2)

expr1이 NULL이 아닌 경우 IFNULL()의 반환 값은 expr1입니다. 그렇지 않으면 반환 값은 expr2입니다. IFNULL()의 반환 값은 사용되는 컨텍스트에 따라 숫자 또는 문자열입니다. rrreee

IFNULL(expr1,expr2) 기본 결과 값은 STRING, REAL 또는 INTEGER 순서로 두 표현식 중 더 "일반적인" 값입니다. 🎜🎜IF ELSE는 조건 판단을 구현하고 다양한 조건이 충족될 때 다른 작업을 수행하는 🎜🎜if로 사용됩니다. 프로그래밍을 배우면 if의 역할을 모두 살펴보겠습니다. mysql 저장 프로시저에서 사용하는 방법. 🎜rrreee🎜는 PHP의 IF 문과 유사합니다. IF의 search_condition이 true이면 THEN 뒤의statement_list 문이 실행되고, 그렇지 않으면 ELSEIF의 조건이 true이면 후속 문_list 문이 실행됩니다. 그렇지 않으면 다른 지점이 계속해서 심사를 받습니다. 모든 분기의 조건이 충족되지 않으면 ELSE 분기가 실행됩니다. search_condition은 조건식으로 "=, , >=, !=" 등의 조건 연산자로 구성할 수 있으며, AND, OR, NOT을 사용하여 여러 표현식을 결합할 수 있습니다. 🎜🎜예를 들어, 학생 번호(student_no)와 과목 번호(course_no)를 통해 학생의 성적(학년)을 쿼리하고 성적이 90점보다 높은 사람은 A등급이고, 그 성적이 반환되는 저장 프로시저를 만듭니다. 90점 미만은 80점 이상은 B등급, 80점 미만 70점 이상은 C등급, E등급으로 진행됩니다. 그런 다음 저장 프로시저를 생성하는 코드는 다음과 같습니다. 🎜rrreee🎜참고: IF는 명령문이며 명령문의 끝을 나타내려면 END IF 뒤에 세미콜론 ";"을 추가해야 합니다. CASE, LOOP 등과 같은 문 🎜🎜관련 튜토리얼: 🎜mysql 비디오 튜토리얼🎜🎜

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

성명
이 기사는 博客园에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
图文详解mysql架构原理图文详解mysql架构原理May 17, 2022 pm 05:54 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

mysql怎么替换换行符mysql怎么替换换行符Apr 18, 2022 pm 03:14 PM

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本有什么区别mysql的msi与zip版本有什么区别May 16, 2022 pm 04:33 PM

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

mysql怎么去掉第一个字符mysql怎么去掉第一个字符May 19, 2022 am 10:21 AM

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql怎么将varchar转换为int类型mysql怎么将varchar转换为int类型May 12, 2022 pm 04:51 PM

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

MySQL复制技术之异步复制和半同步复制MySQL复制技术之异步复制和半同步复制Apr 25, 2022 pm 07:21 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

带你把MySQL索引吃透了带你把MySQL索引吃透了Apr 22, 2022 am 11:48 AM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

mysql怎么判断是否是数字类型mysql怎么判断是否是数字类型May 16, 2022 am 10:09 AM

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전