select CASE WHEN "%IM165%" = "> 1000.00" THEN "Positive"
WHEN CAST(REPLACE("%IM165%","> ", "") as float) >= 0.00 AND CAST(REPLACE("%IM165%","> ", "") as float) < 10.00 THEN "Negative"
WHEN CAST(REPLACE("%IM165%","> ", "") as float) >= 10.00 THEN "Positive"
ELSE "N/A" END
/*
วิเคราะห์โค้ด SQL: การแปลงข้อมูลและจัดรูปแบบ
เข้าใจโค้ดโดยรวม
โค้ด SQL นี้ถูกออกแบบมาเพื่อ แปลงและจัดรูปแบบข้อมูล ที่อยู่ในคอลัมน์ "%IM165%" โดยจะทำการตรวจสอบค่าในคอลัมน์นี้ และจัดกลุ่มค่าเหล่านั้นออกเป็น 4 กลุ่มหลักๆ ได้แก่
Positive: เมื่อค่าในคอลัมน์มากกว่า 1000 หรือ มากกว่า 10 หลังจากลบเครื่องหมาย ">" ออก
Negative: เมื่อค่าในคอลัมน์อยู่ระหว่าง 0 ถึง 10 หลังจากลบเครื่องหมาย ">" ออก
N/A: สำหรับกรณีอื่นๆ ที่ไม่เข้าเงื่อนไขข้างต้น
การทำงานทีละส่วน
CASE WHEN "%IM165%" = "> 1000.00" THEN "Positive":
ตรวจสอบว่าค่าในคอลัมน์ "%IM165%" มีค่าเท่ากับ "> 1000.00" พอดีหรือไม่
ถ้าเป็นจริง จะแสดงผลลัพธ์เป็น "Positive"
WHEN CAST(REPLACE("%IM165%","> ", "") as float) >= 0.00 AND CAST(REPLACE("%IM165%","> ", "") as float) < 10.00 THEN "Negative":
REPLACE("%IM165%","> ", ""): ลบเครื่องหมาย ">" ออกจากค่าในคอลัมน์
CAST(REPLACE("%IM165%","> ", "") as float): แปลงค่าที่ได้เป็นชนิดข้อมูล float (ทศนิยม)
ตรวจสอบช่วงค่า: ถ้าค่าที่ได้อยู่ระหว่าง 0.00 ถึง 10.00 จะแสดงผลลัพธ์เป็น "Negative"
WHEN CAST(REPLACE("%IM165%","> ", "") as float) >= 10.00 THEN "Positive":
ทำการแปลงและตรวจสอบค่าในลักษณะเดียวกับข้อ 2
แต่ครั้งนี้จะตรวจสอบว่าค่ามากกว่าหรือเท่ากับ 10.00 ถ้าเป็นจริงจะแสดงผลลัพธ์เป็น "Positive"
ELSE "N/A" END:
ถ้าค่าไม่ตรงกับเงื่อนไขใดๆ ข้างต้น จะแสดงผลลัพธ์เป็น "N/A"*/
To embed this project on your website, copy the following code and paste it into your website's HTML: