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

วิธีใช้ SUBSTR() ตัดข้อความในคอลัมน์ MySQL

การใช้ฟังก์ชัน SUBSTR() / SUBSTRING()

ใน MySQL ฟังก์ชัน SUBSTR() (หรือ SUBSTRING()) ใช้สำหรับดึงส่วนของสตริงออกมา รูปแบบคือ:

SUBSTR(string, start_position[, length])
-- หรือ
SUBSTRING(string FROM start_position [FOR length])

พารามิเตอร์

  • start_position: เริ่มที่ตำแหน่งที่ 1 (ไม่ใช่ 0), ใช้ค่าลบเพื่อนับจากท้าย
  • length: จำนวนตัวอักษรที่ต้องการ (ไม่ระบุ = จนจบสตริง)

ตัวอย่างการใช้งานจริง

1. สร้างตาราง

CREATE TABLE SubStringDemo (
    UserId VARCHAR(200)
);

2. เพิ่มข้อมูล (รหัส + หมายเลข)

INSERT INTO SubStringDemo VALUES 
('Bob10015'),
('Smith0015'),
('Carol20010');

3. ดึงตัวอักษรตั้งแต่ตำแหน่งที่ 5 จนจบ

SELECT SUBSTR(UserId, 5) AS ExtractSubstring 
FROM SubStringDemo;

ผลลัพธ์

UserId (ต้นฉบับ)ExtractSubstring (ตำแหน่ง 5+)
Bob100150015
Smith0015h0015
Carol20010l20010

ตัวอย่างเพิ่มเติม

คำสั่งอธิบายผลลัพธ์ (จาก 'Bob10015')
SUBSTR(UserId, 1, 3)3 ตัวแรกBob
SUBSTR(UserId, -4)4 ตัวท้าย0015
SUBSTR(UserId, -6, 2)2 ตัว นับจากตัวที่ 6 จากท้าย10
SUBSTRING(UserId FROM 4 FOR 3)รูปแบบ SQL Standard100

การใช้งานใน UPDATE

-- อัปเดตคอลัมน์โดยตัดเอาเฉพาะส่วนที่ต้องการ
UPDATE SubStringDemo 
SET UserId = SUBSTR(UserId, 1, 3);  -- เก็บแค่ 'Bob', 'Smi', 'Car'

ฟังก์ชันเกี่ยวข้อง

  • LEFT(str, len) = SUBSTR(str, 1, len)
  • RIGHT(str, len) = SUBSTR(str, -len)
  • MID(str, pos, len) = Alias ของ SUBSTR()