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

So verwenden Sie die if-Anweisung in MySQL

little bottle
Freigeben: 2019-04-28 13:18:00
nach vorne
38690 Leute haben es durchsucht

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 <> 0 und expr1 <> 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 != ""
Nach dem Login kopieren

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

select CASE sva WHEN 1 THEN &#39;男&#39; ELSE &#39;女&#39; END as ssva from taname where sva != &#39;&#39;
Nach dem Login kopieren

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 &#39;one&#39;
  WHEN 2 THEN &#39;two&#39; 
   ELSE &#39;more&#39; ENDas testCol
Nach dem Login kopieren

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,&#39;yes&#39;);
        -> &#39;yes&#39;
Nach dem Login kopieren

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
Nach dem Login kopieren

ä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 „=, <, <=, >, >=, !=" 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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage