Oracle SQL เบื้องต้น
Hadrien Lacroix
Content Developer
ฟังก์ชันใช้สำหรับ:
| ข้อมูลตัวเลข | ข้อมูลอักขระ | ข้อมูลวันที่ | |
|---|---|---|---|
AVG |
x | ||
SUM |
x | ||
MIN |
x | x | x |
COUNT |
x | x | x |
ชนิดข้อมูลกำหนดว่าคอลัมน์เก็บข้อมูลประเภทใดได้บ้าง
UPPER(column): แปลงค่าอักขระทั้งหมดเป็นตัวพิมพ์ใหญ่
SELECT UPPER(State) AS State, UPPER(PostalCode) AS PostalCode
FROM Customer
| State | PostalCode |
|-------|------------|
| CA | 95014 |
| DF | 71020-677 |
| AB | T6G 2C7 |
| BC | V6C 1G8 |
| QC | H2G 1A7 |
| ... | |
LOWER(column): แปลงค่าอักขระทั้งหมดเป็นตัวพิมพ์เล็ก
SELECT LOWER(Email) AS LowercaseEmail
FROM Customer
| LowercaseEmail |
|--------------------------|
| [email protected] |
| [email protected] |
| [email protected] |
| [email protected] |
| ... |
SUBSTR(column, m, n): คืนค่าส่วนหนึ่งของสตริงจากตำแหน่ง m ความยาว n อักขระ
SELECT Phone
FROM Customer
| Phone |
|-------------------|
| +56 02 635 4444 |
| +91 0124 39883988 |
| +44 0131 315 3300 |
เป้าหมาย: ดึงรหัสประเทศจากหมายเลขโทรศัพท์โดยไม่มี +
เป้าหมาย: ดึงรหัสประเทศจากหมายเลขโทรศัพท์โดยไม่มี +
SELECT Phone, SUBSTR(Phone, 2, 2) AS cc
FROM Customer
| Phone | cc |
|-------------------|----|
| +56 (0)2 635 4444 | 56 |
| +91 0124 39883988 | 91 |
| +44 0131 315 3300 | 44 |
| +39 06 39733434 | 39 |
| +48 22 828 37 39 | 48 |
| ... | |
เป้าหมาย: สร้าง username สำหรับลูกค้าจากตัวอักษร 5 ตัวแรกของนามสกุลและ ID
SELECT LastName, CustomerId, CONCAT(SUBSTR(LastName,1,5), CustomerId) AS UserName
FROM customer
| LastName | CustomerId | UserName |
|----------|------------|----------|
| Almeida | 12 | Almei12 |
| Barnett | 28 | Barne28 |
| Bernard | 39 | Berna39 |
| Brooks | 18 | Brook18 |
| Brown | 29 | Chase21 |
| ... | | |
LENGTH(val): คืนค่าความยาวของสตริง
SELECT LENGTH('cat')
3
REPLACE(val, m, n): แทนที่ m ด้วย n ใน val
SELECT REPLACE('kayak', 'k', 'y')
yayay
ROUND(column, m): ปัดเศษ column เป็นทศนิยม m ตำแหน่ง
SELECT Total, ROUND(Total, 1) AS Round1, ROUND(Total, 0) AS Whole
FROM Invoice
| Total | Round1 | Whole |
|-----------|--------|-------|
| 11.94 | 11.9 | 12 |
| 14.91 | 14.9 | 15 |
| 0.99 | 1.0 | 1 |
| 5.94 | 5.9 | 6 |
| 7.96 | 8.0 | 8 |
| ... | | |
TRUNC(column, m): ตัดทิ้ง column ให้เหลือทศนิยม m ตำแหน่ง
SELECT DISTINCT Total, ROUND(Total, 1) AS Dec1, TRUNC(Total, 1) AS Trun1
FROM Invoice
| Total | Dec1 | Trun1 |
|-------|------|-------|
| 15.86 | 15.9 | 15.8 |
| 13.86 | 13.9 | 13.8 |
| 8.94 | 8.9 | 8.9 |
| 1.99 | 2.0 | 1.9 |
| 7.96 | 8.0 | 7.9 |
MOD(column1, column2): คืนค่าเศษเหลือจากการหาร
SELECT MOD(14, 4)
2
MOD(column1, column2): คืนค่าเศษเหลือจากการหาร
SELECT MOD(14, 2)
0
SELECT MOD(15, 2)
1
จำนวนพนักงานเป็นเลขคู่หรือไม่?
SELECT MOD(COUNT(Employee),1)
FROM Employee
0
ใช่
Oracle SQL เบื้องต้น