ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์
ABS, MOD, POWER และอื่น ๆ
ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์ เป็นบทเรียน SQL Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน SQL Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดฟังก์ชันคณิตศาสตร์จึงสำคัญ
SQL ไม่ได้มีไว้เพียงจัดเก็บและดึงข้อความเท่านั้น แต่ยังเป็นเครื่องมือทรงพลังสำหรับการคำนวณตัวเลขด้วย ฟังก์ชันคณิตศาสตร์ในตัวช่วยให้คุณคำนวณค่าสัมบูรณ์ เศษเหลือ เลขยกกำลัง และอื่น ๆ ได้ทั้งหมดโดยไม่ต้องออกจากคิวรี
ในบทเรียนนี้ คุณจะได้เรียนรู้ฟังก์ชันตัวเลขที่มีประโยชน์ที่สุดใน SQL ได้แก่ ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR และ SIGN
ABS — ค่าสัมบูรณ์
ABS(n) จะคืนค่าค่าสัมบูรณ์หรือค่าที่ไม่เป็นลบของตัวเลข ตัวเลขติดลบจะกลายเป็นค่าบวก ส่วนตัวเลขบวกและศูนย์จะไม่เปลี่ยนแปลง
ฟังก์ชันนี้มีประโยชน์เมื่อคุณสนใจ ระยะห่าง จากศูนย์มากกว่าทิศทาง เช่น การคำนวณว่าอุณหภูมิห่างจากค่าเป้าหมายเท่าใด โดยไม่คำนึงว่าอุณหภูมิจะสูงกว่าหรือต่ำกว่าเป้าหมาย
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0การใช้ ABS ในคิวรีจริง
ลองนึกถึงตาราง transactions ที่จัดเก็บรายการถอนเงินเป็นจำนวนติดลบ คุณสามารถใช้ ABS เพื่อแสดงจำนวนเงินทุกรายการเป็นค่าบวกโดยไม่ขึ้นกับทิศทาง
CREATE TABLE transactions (
id INTEGER,
amount NUMERIC
);
INSERT INTO transactions VALUES (1, 200.00), (2, -50.00), (3, -120.00), (4, 80.00);
SELECT id,
amount,
ABS(amount) AS absolute_amount
FROM transactions;MOD — เศษเหลือหลังการหาร
MOD(ตัวตั้ง, ตัวหาร) จะคืนค่าเศษเหลือเมื่อหารตัวเลขแรกด้วยตัวเลขที่สอง ซึ่งเทียบเท่ากับตัวดำเนินการ % ในภาษาการเขียนโปรแกรมหลายภาษา
การใช้งานที่พบบ่อยคือการตรวจสอบว่าตัวเลขเป็นเลขคู่หรือเลขคี่ หาก MOD(n, 2) = 0 ตัวเลขนั้นจะเป็นเลขคู่ มิฉะนั้นจะเป็นเลขคี่
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)การใช้ MOD ในคิวรีจริง
คุณสามารถใช้ MOD ภายในส่วนคำสั่ง WHERE เพื่อกรองแถวได้ ในที่นี้เราจะเลือกเฉพาะคำสั่งซื้อที่มี id เป็นเลขคู่
CREATE TABLE orders (
id INTEGER,
total NUMERIC
);
INSERT INTO orders VALUES (1, 99.99), (2, 45.00), (3, 130.50), (4, 22.00), (5, 75.00), (6, 60.00);
SELECT id, total
FROM orders
WHERE MOD(id, 2) = 0;POWER — ยกกำลัง
POWER(ฐาน, เลขชี้กำลัง) จะยกตัวเลขขึ้นเป็นกำลังที่กำหนด POWER(2, 10) ให้ผลลัพธ์เป็น 1024 และ POWER(9, 0.5) ให้ผลลัพธ์เป็น 3 ซึ่งเป็นรากที่สองของ 9
ฟังก์ชันนี้มีประโยชน์สำหรับการคำนวณดอกเบี้ยทบต้น สูตรพื้นที่ และทุกสถานการณ์ที่เกี่ยวข้องกับการเติบโตแบบเอ็กซ์โพเนนเชียล
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — รากที่สอง
SQRT(n) เป็นรูปแบบย่อที่สะดวกของ POWER(n, 0.5) และจะคืนค่ารากที่สองของจำนวนที่ไม่เป็นลบ
ตัวอย่างเช่น หากคุณจัดเก็บพื้นที่ของแปลงที่ดินรูปสี่เหลี่ยมจัตุรัส คุณสามารถหาความยาวด้านได้ด้วย SQRT(area)
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — ปัดเศษเป็นทศนิยม N ตำแหน่ง
ROUND(n, d) จะปัดเศษ n ให้เหลือทศนิยม d ตำแหน่ง หากไม่ระบุ d หรือส่งค่า 0 ผลลัพธ์จะเป็นจำนวนเต็ม ค่า d ที่เป็นลบจะปัดเศษไปทางด้านซ้ายของจุดทศนิยม
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL และ FLOOR — ปัดขึ้นหรือลงเสมอ
CEIL(n) หรือที่เขียนได้ว่า CEILING จะปัด ขึ้น เป็นจำนวนเต็มที่ใกล้ที่สุดเสมอ ส่วน FLOOR(n) จะปัด ลง เสมอ
ใช้ CEIL เมื่อต้องการจำนวนขั้นต่ำของสิ่งใดสิ่งหนึ่ง เช่น จำนวนหน้าที่ต้องใช้พิมพ์แถว และใช้ FLOOR เมื่อต้องการจำนวนเต็มที่มากที่สุดซึ่งไม่เกินค่าที่กำหนด เช่น จำนวนสัปดาห์เต็มที่ผ่านไป
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — ตัวเลขมีทิศทางใด
SIGN(n) จะคืนค่า 1 หากตัวเลขเป็นบวก คืนค่า -1 หากเป็นลบ และคืนค่า 0 หากเป็นศูนย์ เป็นวิธีที่รวดเร็วในการจัดหมวดหมู่ค่าตัวเลขโดยไม่ต้องเขียนนิพจน์ CASE
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0การรวมฟังก์ชันคณิตศาสตร์
คุณสามารถรวมฟังก์ชันคณิตศาสตร์ภายในนิพจน์เดียวได้อย่างอิสระ ตัวอย่างด้านล่างคำนวณค่างวดรายเดือนของเงินกู้แบบง่ายโดยใช้ ROUND และ POWER ร่วมกัน แสดงให้เห็นว่าฟังก์ชันเหล่านี้ช่วยเสริมกันอย่างไรในตรรกะทางธุรกิจจริง
-- Monthly payment formula: P * r / (1 - (1+r)^-n)
-- P=10000, annual rate 6% (r=0.005/month), n=24 months
SELECT ROUND(
10000.0 * 0.005 / (1 - POWER(1 + 0.005, -24)),
2
) AS monthly_payment;ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับฟังก์ชันคณิตศาสตร์ของ SQL
ทบทวนบทเรียน
ทำได้ดีมาก ต่อไปนี้คือสรุปฟังก์ชันคณิตศาสตร์ของ SQL ที่คุณได้เรียนรู้ในบทเรียนนี้:
- ABS(n) — ค่าสัมบูรณ์ (ลบเครื่องหมายออก)
- MOD(a, b) — เศษเหลือหลังจากหาร a ด้วย b
- POWER(ฐาน, exp) — ยกตัวเลขขึ้นเป็นกำลัง
- SQRT(n) — รากที่สอง
- ROUND(n, d) — ปัดเศษให้เหลือทศนิยม d ตำแหน่ง
- CEIL(n) — ปัดขึ้นเป็นจำนวนเต็มถัดไปเสมอ
- FLOOR(n) — ปัดลงเป็นจำนวนเต็มก่อนหน้าเสมอ
- SIGN(n) — คืนค่า 1, -1 หรือ 0 ตามเครื่องหมายของตัวเลข
ฟังก์ชันเหล่านี้ทำงานได้ในฐานข้อมูล SQL หลักทั้งหมด และสามารถซ้อนหรือรวมกันเพื่อจัดการตรรกะตัวเลขที่ซับซ้อนได้โดยตรงภายในคิวรีของคุณ
คำถามที่พบบ่อย
บทเรียน “ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส SQL Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส SQL Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์”
ABS, MOD, POWER และอื่น ๆ คุณปฏิบัติ SQL Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน SQL Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน SQL Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน SQL Academy นี้ได้ไหม
ได้ บทเรียน SQL Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เลขคณิตและตัวดำเนินการ
- การปัดเศษและตัดทศนิยม
- การหารจำนวนเต็มเทียบกับทศนิยม
- ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์