sql command

Database SQL – Wildcard Operator คือการแทนค่าอักษรอะไรก็ได้

Database SQL – Wildcard Operator

จากบทความเรื่อง SQL LIKE Clause เราจะเห็นว่านอกจาก operator LIKE แล้วยังมีส่วนที่ต้องระบุเงือนไขค่าคงที่ ที่จะนำมาเปรียบเทียบด้วย ซึ่งเกือบทั้งหมดจะต้องมีการใช้งาน SQL Wildcard Operator รวมอยู่ในค่าคงที่นั้น เพื่อเติมเต็มเงือนไขให้สมบูรณ์ภายใต้ SQL Where Clause

 

สัญลักษณ์ของ Wildcard

1. Percent (%)

แทนค่าเท่ากับตัวอักษรตั้งแต่ 0 ตัว จนถึงกี่ตัวก็ได้ ถ้าเทียบกับใน Linux หรือ Unix operating system ก็จะมีค่าเหมือนกับสัญลักษณ์ (*)

2. Underscore (_)

แทนค่าเท่ากับตัวอักษรเพียง 1 ตัว ถ้าเทียบกับใน Linux หรือ Unix operating system ก็จะมีค่าเหมือนกับสัญลักษณ์ (?)

 

รูปแบบ (Syntax)

SELECT FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT FROM table_name
WHERE column LIKE '_XXXX_'

 

ตัวอย่างคำสั่ง Wildcard Operator

Wildcard statement Detail
  WHERE SALARY LIKE ‘200%’   หาข้อมูลที่มีค่า SALARY ขึ้นต้นด้วย 200
  WHERE SALARY LIKE ‘%200%’   หาข้อมูลที่มีค่า SALARY ประกอบด้วย 200
  WHERE SALARY LIKE ‘_00%’   หาข้อมูลที่มีค่า SALARY ตัวอักษรที่ 2-3 เป็น 00
  WHERE SALARY LIKE ‘2_%_%’   หาข้อมูลที่มีค่า SALARY มีอย่างน้อย 3 ตัวอักษร และ ที่ขึ้นต้นด้วย 2
  WHERE SALARY LIKE ‘%2’   หาข้อมูลที่มีค่า SALARY ที่ลงท้ายด้วย 2
  WHERE SALARY LIKE ‘_2%3’   หาข้อมูลที่มีค่า SALARY ตัวอักษรที่ 2 มีค่าเท่ากับ 2 และ ลงท้ายด้วย 3
  WHERE SALARY LIKE ‘2___3’   หาข้อมูลที่มีค่า SALARY ขึ้นต้นด้วย 2 และ ลงท้ายด้วย 3 ทั้งหมดมี 5 ตัวอักษร

 

Table – CUSTOMERS

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

ทำการ select ข้อมูลด้วยเงื่อนไข SALARY ที่มีตัวอักษรเริ่มต้นด้วย 200

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

ผลลัพธ์ที่ได้

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+

 

 

 

Reference:

รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

Leave a Reply