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

การลบตัวเลขหลังเครื่องหมายขีดกลาง (Hyphen) ใน VARCHAR ด้วย MySQL

การใช้ SUBSTRING_INDEX() เพื่อตัดข้อความ

ฟังก์ชัน SUBSTRING_INDEX(str, delim, count) คืนค่าส่วนของสตริงก่อนตัวแบ่ง (delimiter) ตามจำนวนที่ระบุ

ไวยากรณ์

SUBSTRING_INDEX(string, delimiter, count)
-- count > 0: ส่วนซ้ายของ delimiter ครั้งที่ count
-- count < 0: ส่วนขวาของ delimiter ครั้งที่ |count|

ตัวอย่าง: ลบตัวเลขหลัง Hyphen

CREATE TABLE DemoTable2040 (StudentCode VARCHAR(20));

INSERT INTO DemoTable2040 VALUES
('John-232'), ('Carol-901'), ('David-987');

-- เก็บเฉพาะส่วนก่อน hyphen ตัวแรก (count = 1)
UPDATE DemoTable2040
SET StudentCode = SUBSTRING_INDEX(StudentCode, '-', 1);

SELECT * FROM DemoTable2040;

ผลลัพธ์

StudentCode
John
Carol
David

การประยุกต์: ใช้ SUBSTRING_INDEX(..., '-', -1) เพื่อ取得ส่วนหลัง hyphen ตัวสุดท้ายแทน