ฟังก์ชัน 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);- แยกจำนวนลูกค้าที่มียอดคงเหลือเป็นบวก, ศูนย์, หรือติดลบ