10 บทความล่าสุด เลือกหมวด
10 ข่าวไอทีล่าสุด
10 วิดีโอคลิปล่าสุด
หมวดหมู่บทความ
หมวดหมู่วิดีโอคลิป
บอทล่าสุดวันนี้
หน้าแรก >>บทความ >> MYSQL >> MYSQL การใช้เงือนไข CASE...WHEN ใน Procedure และ Function ของ MYSQL(CASE Statement MYSQL)
MYSQL การใช้เงือนไข CASE...WHEN ใน Procedure และ Function ของ MYSQL(CASE Statement MYSQL)
วันศุกร์ที่ 27 เดือน มกราคม พ.ศ.2555 00:00 น.
เราสามารถกำหนดทิศทางการทำงานของ Procedure และ Function ของ MYSQL โดยใช้คำสั่งดังนี้ CASE..WHEN  มีการใช้ 2 ลักษณะคือ

1. Simple CASE statement
รูปแบบ

CASE expression
        WHEN value THEN
            statements
        [WHEN value THEN
            statements ...]
        [ELSE 
            statements]
END CASE;

ตัวอย่าง

CREATE  FUNCTION `fc_test`(`salary` int(12)) RETURNS char(255) CHARSET utf8
BEGIN

        DECLARE l_char CHAR(255) DEFAULT '';

CASE salary
    WHEN 10000 THEN
        SET l_char ="เงินเดือน 10000";

    WHEN 20000 THEN
        SET l_char ="เงินเดือน 20000";

    ELSE
        SET l_char="";
END CASE;

    RETURN l_char;

END

จากตัวอย่างเมื่อเราเรียกใช้ ฟังชั่น select fc_test(10000) ก็จะ Return ข้อความ "เงินเดือน 10000"

2."Searched" CASE statement
รูปแบบ

CASE
        WHEN condition THEN
            statements
        [WHEN condition THEN
            statements...]
        [ELSE
            statements]
END CASE;
ตัวอย่าง
 
CREATE  FUNCTION `fc_test`(`salary` int(12)) RETURNS char(255) CHARSET utf8
BEGIN

        DECLARE l_char CHAR(255) DEFAULT '';

CASE
    WHEN  (salary < 5000) THEN
        SET l_char ="เงินเดือน น้อยกว่า 5000";

    WHEN  (salary >5000) THEN
        SET l_char ="เงินเดือนมากกว่า 5000"; 
 
    ELSE
        SET l_char="";
END CASE;

    RETURN l_char;

END

จากตัวอย่างเมื่อเราเรียกใช้ ฟังชั่น select fc_test(10000) ก็จะ Return ข้อความ "เงินเดือนมากกว่า 5000"

บทความที่เกี่ยวข้อง

View All
สอน XML        สอน MYSQL        สอน CSS        สอน HTML        สอน PHP        Sitemap        แลกลิ้งกับเรา         
Back to top
2011-2018 All Rights Reserved by  korakitinfo.com  E-Mail : korakit.wiw@korakitinfo.com
Page rendered in 0.0249 seconds
  www.korakitinfo.com