0Pricing
SQL Academy · บทเรียน

ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์

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);  -- 10

ROUND — ปัดเศษเป็นทศนิยม 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);         -- 10

CEIL และ FLOOR — ปัดขึ้นหรือลงเสมอ

CEIL(n) หรือที่เขียนได้ว่า CEILING จะปัด ขึ้น เป็นจำนวนเต็มที่ใกล้ที่สุดเสมอ ส่วน FLOOR(n) จะปัด ลง เสมอ

ใช้ CEIL เมื่อต้องการจำนวนขั้นต่ำของสิ่งใดสิ่งหนึ่ง เช่น จำนวนหน้าที่ต้องใช้พิมพ์แถว และใช้ FLOOR เมื่อต้องการจำนวนเต็มที่มากที่สุดซึ่งไม่เกินค่าที่กำหนด เช่น จำนวนสัปดาห์เต็มที่ผ่านไป

SELECT CEIL(4.1),   -- 5
       CEIL(-4.1),  -- -4
       FLOOR(4.9),  -- 4
       FLOOR(-4.9); -- -5

SIGN — ตัวเลขมีทิศทางใด

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เลขคณิตและตัวดำเนินการ
  2. การปัดเศษและตัดทศนิยม
  3. การหารจำนวนเต็มเทียบกับทศนิยม
  4. ฟังก์ชันคณิตศาสตร์ที่มีประโยชน์
← กลับไปที่ SQL Academy