Heim >Datenbank >MySQL-Tutorial >So verwenden Sie die if-Anweisung in MySQL

So verwenden Sie die if-Anweisung in MySQL

little bottle
little bottlenach vorne
2019-04-28 13:18:0038685Durchsuche

MySQLs if kann als Ausdruck oder als Prozesssteuerungsanweisung in einer gespeicherten Prozedur verwendet werden. In diesem Artikel geht es hauptsächlich um die regelmäßige Verwendung von if-Anweisungen in MySQL, die einen gewissen Lernwert haben .

IF-Ausdruck

IF(expr1,expr2,expr3)

Wenn expr1 TRUE ist (expr1 a8093152e673feb7aba1828c43532094 0 und expr1 a8093152e673feb7aba1828c43532094 NULL), dann gibt IF() den Wert zurück ist Ausdruck2; andernfalls ist der Rückgabewert Ausdruck3. Der Rückgabewert von IF() ist je nach Kontext entweder ein numerischer Wert oder ein String-Wert.

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

if als Ausdruck kann auch mit CASE implementiert werden, wenn:

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

Im Rückgabeergebnis der ersten Lösung ist value=compare-value. Das Rückgabeergebnis des zweiten Szenarios ist das wahre Ergebnis des ersten Szenarios. Wenn kein passender Ergebniswert vorhanden ist, ist das Rückgabeergebnis das Ergebnis nach ELSE. Wenn kein ELSE-Teil vorhanden ist, ist der Rückgabewert NULL.

Zum Beispiel:

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

gibt eins aus

IFNULL(expr1,expr2)

Wenn expr1 nicht NULL ist, ist der Rückgabewert von IFNULL() ist Ausdruck1; andernfalls ist der Rückgabewert Ausdruck2. Der Rückgabewert von IFNULL() ist je nach Kontext, in dem er verwendet wird, entweder eine Zahl oder ein String. Der Standardergebniswert von

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) ist der „generischere“ der beiden Ausdrücke in der Reihenfolge STRING, REAL oder INTEGER.

IF ELSE Verwenden Sie

if als Flusskontrollanweisung, um bedingte Beurteilungen zu implementieren und verschiedene Operationen auszuführen, wenn unterschiedliche Bedingungen erfüllt sind. Solange wir Programmieren lernen, kennen wir alle die Rolle von if. Werfen wir einen Blick darauf, wie if in gespeicherten MySQL-Prozeduren verwendet wird.

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

ähnelt der IF-Anweisung in PHP. Wenn die Bedingung „search_condition“ in IF festgelegt ist, wird die Anweisung „statement_list“ nach THEN ausgeführt. Andernfalls wird die Bedingung in „ELSEIF“ beurteilt Andernfalls werden andere Anweisungen ausgeführt. Wenn die Bedingungen aller Zweige nicht erfüllt sind, wird der ELSE-Zweig ausgeführt. search_condition ist ein bedingter Ausdruck, der aus bedingten Operatoren wie „=, 91eef5681cad6f0cc96f9adeb2931b45, >=, !=" bestehen kann, und mehrere Ausdrücke können mit AND, OR und NOT kombiniert werden.

Erstellen Sie beispielsweise eine gespeicherte Prozedur, die die Note (Note) des Schülers anhand der Schülernummer (student_no) und der Kursnummer (course_no) abfragt und die Note und Note zurückgibt A-Level, diejenigen mit weniger als 90 Punkten und gleich oder gleich 80 Punkten sind Level B, diejenigen mit weniger als 80 Punkten und gleich oder gleich 70 Punkten sind Level C, und die Reihenfolge geht zu Level E. Dann lautet der Code zum Erstellen der gespeicherten Prozedur wie folgt:

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

Hinweis: IF ist eine Anweisung, und nach END IF muss ein Semikolon „;“ hinzugefügt werden, um das Ende der Anweisung anzuzeigen gilt auch für andere Anweisungen wie CASE, LOOP usw. .

Verwandte Tutorials: MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die if-Anweisung in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Wozu dient eine SQL-Datenbank?Nächster Artikel:Wozu dient eine SQL-Datenbank?