MySQL การใช้งานฟังก์ชัน SIGN()

ฟังก์ชัน SIGN() ใน MySQL ใช้เพื่อตรวจสอบทิศทางของค่าตัวเลข ใช้สำหรับดูว่าเลขนั้นเป็นบวก ลบ หรือศูนย์

ประโยชน์ของฟังก์ชัน SIGN()

  • ใช้จัดกลุ่มข้อมูลตามทิศทางของการเปลี่ยนแปลง (บวก/ลบ/ไม่เปลี่ยน)
  • ใช้สร้างเงื่อนไข เช่น แสดงสัญลักษณ์ ↑ ↓ หรือ สีในรายงาน
  • เหมาะสำหรับ
    • การเงิน (แนวโน้มราคาหุ้น)
    • การเปรียบเทียบข้อมูลระหว่างช่วง
    • การจำแนกค่าตัวเลขแบบง่าย

รูปแบบการใช้งาน

SIGN(x)
  • x คือค่าตัวเลข (INT, FLOAT, DECIMAL) ที่ต้องการตรวจสอบ
  • หาก x เป็น NULL จะได้ผลลัพธ์เป็น NULL

ตัวอย่างการใช้งาน

SQL
SELECT SIGN(10);       -- ผลลัพธ์: 1
SELECT SIGN(-5.5);     -- ผลลัพธ์: -1
SELECT SIGN(0);        -- ผลลัพธ์: 0
SELECT SIGN(NULL);     -- ผลลัพธ์: NULL

ตรวจสอบทิศทางการเปลี่ยนแปลงของยอดขาย

SQL
SELECT product_id,
       current_sales - last_month_sales AS change,
       SIGN(current_sales - last_month_sales) AS trend
FROM sales_data;
  • trend = 1 → เพิ่มขึ้น, -1 → ลดลง, 0 → เท่าเดิม

แสดงสัญลักษณ์แทนทิศทาง (↑ ↓ -)

SQL
SELECT order_id,
       profit_change,
       CASE SIGN(profit_change)
         WHEN 1 THEN ''
         WHEN -1 THEN ''
         ELSE '-'
       END AS direction
FROM orders;

จัดกลุ่มข้อมูลตามค่าบวก/ลบ

SQL
SELECT SIGN(balance) AS balance_type, COUNT(*) AS total_customers
FROM customer_accounts
GROUP BY SIGN(balance);
  • แยกจำนวนลูกค้าที่มียอดคงเหลือเป็นบวก, ศูนย์, หรือติดลบ
แชร์เรื่องนี้