Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: ค้นหาแถวที่เลขหลักสุดท้ายเป็นค่าที่กำหนด (RIGHT)

การใช้ RIGHT() ดึงตัวอักษรสุดท้าย

ฟังก์ชัน RIGHT(str, n) คืนค่า n ตัวอักษรสุดท้ายของ str ใช้กรองเลขหลักสุดท้ายได้

ตัวอย่าง

mysql> create table DemoTable823(Value varchar(100));
Query OK, 0 rows affected (0.54 sec)
mysql> insert into DemoTable823 values('9847826');
mysql> insert into DemoTable823 values('84747464');
mysql> insert into DemoTable823 values('9899889883');
mysql> insert into DemoTable823 values('123456');

ค้นหาเลขที่ลงท้ายด้วย 6

mysql> select * from DemoTable823 where right(Value, 1) = '6';

ผลลัพธ์:

+---------+
| Value   |
+---------+
| 9847826 |
| 123456  |
+---------+

การใช้งานเพิ่มเติม

-- 2 หลักสุดท้าย
WHERE RIGHT(Value, 2) = '26'

-- ใช้กับตัวเลข (CAST ก่อน)
WHERE RIGHT(CAST(number_col AS CHAR), 1) = '5'

-- ค้นหาหลายค่า
WHERE RIGHT(Value, 1) IN ('6', '8', '0')

ฟังก์ชันคู่: LEFT()

LEFT(str, n)  -- n ตัวอักษรแรก
-- ตัวอย่าง: รหัสไปรษณีย์ 5 หลักแรก
WHERE LEFT(zipcode, 5) = '10100'

สรุป

ใช้ RIGHT(column, n) ดึง n ตัวอักษรสุดท้าย เพื่อกรอง/ค้นหาตามรูปแบบเลขท้าย หมายเหตุ: ใช้กับ VARCHAR/CHAR ได้โดยตรง ตัวเลขต้อง CAST ก่อน