|
7. Function
ฟังก์ชันที่ทำงานกับข้อมูลของแต่ละแถว เป็นฟังก์ชันที่สามารถทำงานใช้ประโยชน์ได้ดี
แต่ไม่อยู่ในมาตรฐาน ANSI SQL-92 ซึ่งฟังก์ชันเหล่านี้อาจจะมีให้หรือไม่มีให้ขึ้นระบบฐานข้อมูลที่ใช้
ฐานข้อมูลหลักส่วนใหญ่มีให้ใช้
ฟังก์ชัน String
LEFT(<string>,x)
|
ส่งออกตัวอักษรซ้ายสุด x ตัวอักษรของข้อความ เช่น LEFT(America,2)
= Am |
RIGHT(<string>,x) |
ส่งออกตัวอักษรขวาสุด x ตัวอักษรของข้อความ เช่น RIGHT(America,2)
= ca |
UPPER(<string>) |
แปลงข้อความทั้งหมดให้เป็นตัวอักษรใหญ่ เช่น UPPER(america) = AMERICA |
LOWER(<string>) |
แปลงข้อความทั้งหมดให้เป็นตัวอักษรเล็ก เช่น LOWER(AMERICA)=america |
INITCAP(<string>) |
แปลงข้อความทั้งหมดให้ขึ้นต้นด้วยอักษรตัวใหญ่ เช่น INITCAP(america)
= America |
LENGTH(<string>) |
ส่งออกตัวอักษรในข้อความ เช่น LENGTH (America) = 7 |
<string>||<string> |
ต่อ 2 ข้อความเป็นข้อความเดียวกัน (concatenated) |
SUBSTR(<string>,x,y) |
ดึงตัวอักษรตั้งแต่ตำแหน่งที่ x จำนวน y ตัวอักษร เช่น SUBSTR(ABCDEF,
3,3) = CDE |
NVL(<column>, <value>) |
ฟังก์ชันที่ใช้เปลี่ยนค่า Null ในคอลัมน์ column ที่ระบุเป็นค่าใหม่ตาม
value เช่น NVL(salary,0) หมายถึง ค่าที่เป็น Null ในคอลัมน์ salary
ให้เปลี่ยนเป็น ศูนย์ |
ฟังก์ชันคณิตศาสตร์
ABS(x)
|
ส่งออกค่าสัมบูรณ์ของ x |
SIGN(x) |
ส่งออกค่าเครื่องหมายของ x เป็น -1, 0, or 1 (ค่าลบ, ศูนย์ หรือค่าบวก) |
MOD(x,y) |
modulo - ส่งออกค่าจำนวนเต็มของการหาร x ด้วย y (เหมือนกับ x%y) |
FLOOR(x) |
ส่งออกค่าจำนวนเต็มใหญ่ที่สุดที่น้อยกว่าหรือเท่ากับ x |
CEILING(x) or CEIL(x) |
ส่งออกค่าจำนวนเต็มเล็กที่สุดที่มากกว่าหรือเท่ากับ x |
POWER(x,y) |
ส่งออกค่าของ x ยกกำลัง y |
ROUND(x) |
ส่งออกค่าที่ปรับเป็นจำนวนเต็มที่ใกล้ที่สุดของ x |
ROUND(x,d) |
ส่งออกค่าที่ปรับตามจำนวนตำแหน่งทศนิยมที่ระบุด้วยค่า d |
SQRT(x) |
ส่งออกค่ารากที่ 2 ของ x |
|
|
ตัวอย่าง
SELECT round(salary), name
FROM employee;
ประโยคคำสั่งนี้ปรับค่า salary ให้เป็นจำนวนเต็มที่ใกล้ที่สุด และ name
จาก table employee
Mathematical Operators
ตามมาตรฐาน ANSI SQL-92 สนับสนุน arithmetic operators 4 ตัวแรก
+ |
การบวก |
- |
การลบ |
* |
การคูณ |
/ |
การหาร |
% |
modulo |
|
|
modulo ใช้หาค่าจำนวนเต็มจากการหาร โดย modulo ไม่สนับสนุนมาตรฐาน ANSI
SQL แต่ฐานข้อมูลส่วนใหญ่สนับสนุน
|
|