ที่มา : Original link , MySQL Query Browser
# ไม่เคยใช้เหมือนกันตอนเรียนก็พึ่งมาเคยใช้ตอนทำงานอ่ะ
# เคยเขียนเงื่อนไขแต่ในโปแกรมไม่เคยเขียนใน query statement MySQL
# How to use CASE.
mysql> SELECT CASE [a] WHEN [c1] THEN ['r1']
-> WHEN [c2] THEN ['two'] ELSE ['r3'] END;
[a] คือ ค่าที่เราจะทำการ Select เพื่อนำมาเปรียบเทียบ
[c1] คือ เงื่อนไขที่ 1 สำหรับเปรียบเทียบกับ [a]
[r1] คือ ถ้าเงื่อนไขที่ 1 ถูกต้องจะให้ผลลัพธ์เป็น r1
[c2] คือ เงื่อนไขที่ 2 สำหรับเปรียบเทียบกับ [a]
[r2] คือ ถ้าเงื่อนไขที่ 2 ถูกต้องจะให้ผลลัพธ์เป็น r2
[r3] คือ ถ้าเงื่อนไขที่ 1 และ 2 ไม่ถูกต้องจะให้ผลลัพธ์เป็น r3
# Sample
mysql> SELECT CASE 1 WHEN 1 THEN 'one'
-> WHEN 2 THEN 'two' ELSE 'more' END;
-> 'one'
mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;
-> 'true'
mysql> SELECT CASE BINARY 'B'
-> WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;
-> NULL
# How to use IF.
mysql> SELECT IF([a] > [c],[r1],[r2]);
[a] คือ ค่าที่เราจะทำการ Select เพื่อนำมาเปรียบเทียบ
[c] คือ เงื่อนไข สำหรับเปรียบเทียบกับ [a]
[r1] คือ ถ้าเงื่อนไขถูกต้องจะให้ผลลัพธ์เป็น r1
[r2] คือ ถ้าเงื่อนไขไม่ถูกต้องจะให้ผลลัพธ์เป็น r2
# Sample
mysql> SELECT IF(1>2,2,3);
-> 3
mysql> SELECT IF(1<2,'yes','no');> SELECT IF(0.1,1,0);
-> 0
mysql> SELECT IF(0.1<>0,1,0);
-> 1
# How to use IFNULL.
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
# จะเปรียบเทียบค่ากับ null ต้องใช้ is null
# เช่น select [id] where [name] is null
No comments:
Post a Comment