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

เปลี่ยนค่าจาก 1 เป็น Y ใน MySQL Select Statement โดยใช้ CASE หรือไม่


คุณสามารถใช้ CASE จาก MySQL เพื่อเปลี่ยนค่าจาก 1 เป็น Y ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง changeValuefrom1toY -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> isValidAddress tinyint(1), -> PRIMARY KEY(Id) -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.76 วินาที) 

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

mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress)(1);Query OK, 1 แถวได้รับผลกระทบ (0.22 วินาที)mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress)(0);Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress) ค่า(1);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที)mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress) (1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงใน changeValuefrom1toY (isValidAddress) ค่า(1);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress)(0);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า changeValuefrom1toY(isValidAddress) (1); ตกลง 1 แถวได้รับผลกระทบ (0.49 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก changeValuefrom1toY;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+---+----------------+| รหัส | isValidAddress |+----+----------------+| 1 | 1 || 2 | 0 || 3 | 1 || 4 | 1 || 5 | 1 || 6 | 0 || 7 | 1 |+----+----------------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามที่จะทำงานกับกรณี:

mysql> เลือก *, case -> when isValidAddress=1 แล้ว 'Y' -> ELSE isValidAddress -> END AS Answer -> from changeValuefrom1toY;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+----------------+-------+| รหัส | isValidAddress | ตอบ |+----+----------------+-------+| 1 | 1 | Y || 2 | 0 | 0 || 3 | 1 | Y || 4 | 1 | Y || 5 | 1 | Y || 6 | 0 | 0 || 7 | 1 | Y |+----+----------------+-------+7 แถวในชุด (0.00 วินาที)