Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะใช้ IF ในขั้นตอนการจัดเก็บและเลือกใน MySQL ได้อย่างไร?


คุณสามารถใช้ IF ใน Stored Procedure และ IF() ในคำสั่ง select ได้เช่นกัน

IF() ในคำสั่ง select

IF() ในคำสั่ง select mysql> select if(0=0,'Hello MySQL','condition is wrong');

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+--------------------------------------------- --------+| if('test'='test','Hello MySQL','condition is wrong') |+-------------------------- ----------------------------+| สวัสดี MySQL |+--------------------------------------------- --------+1 แถวในชุด (0.00 วินาที)

กรณีที่สองหากอาการของคุณผิดปกติ -

mysql> เลือกถ้า (1=0,'สวัสดี MySQL','เงื่อนไขไม่ถูกต้อง');

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------------------------------+| ถ้า (1=0,'สวัสดี MySQL','เงื่อนไขไม่ถูกต้อง') |+------------------------------------ --------------+| เงื่อนไขไม่ถูกต้อง |+---------------------------------------------+ 1 แถวในชุด (0.00 วินาที)

หากอยู่ในขั้นตอนการจัดเก็บ

แบบสอบถามเพื่อสร้างกระบวนงานที่เก็บไว้มีดังนี้ เราใช้ IF เพื่อกำหนดเงื่อนไข -

mysql> DELIMITER //mysql> CREATE PROCEDURE if_demo (value int) BEGIN IF 1=value จากนั้นเลือก "สวัสดี MySQL"; ELSE เลือก "ผิดเงื่อนไข"; สิ้นสุดถ้า; END //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.20 วินาที) mysql> DELIMITER;

ตอนนี้คุณสามารถเรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่งโทร

mysql> โทร if_demo(1);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| สวัสดี MySQL |+-------------+| สวัสดี MySQL |+-------------+1 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.01 วินาที)

หากเงื่อนไขของคุณกลายเป็นเท็จ -

mysql> โทร if_demo(0);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------------+| ผิดเงื่อนไข |+-----------------+| ผิดเงื่อนไข |+-----------------+1 แถวในชุด (0.00 วินาที)แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.01 วินาที)