Vấn đề
Mã Zip Code có dạng "12345-6789", cần giữ lại phần trước dấu gạch ngang.
1. Tạo bảng
mysql> create table DemoTable (
ZipCode varchar(50)
);
Query OK, 0 rows affected (2.02 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('52533-909');
mysql> insert into DemoTable values('12345-674');
mysql> insert into DemoTable values('89893-890');
mysql> insert into DemoTable values('AAAAA-783');
3. Xem dữ liệu
mysql> select * from DemoTable;
+-----------+ | ZipCode | +-----------+ | 52533-909 | | 12345-674 | | 89893-890 | | AAAAA-783 | +-----------+ 4 rows in set (0.00 sec)
4. Cập nhật: lấy phần trước dấu '-'
mysql> update DemoTable set ZipCode = substring_index(ZipCode, '-', 1); Query OK, 4 rows affected (0.44 sec)
5. Kết quả sau cập nhật
mysql> select * from DemoTable;
+---------+ | ZipCode | +---------+ | 52533 | | 12345 | | 89893 | | AAAAA | +---------+ 4 rows in set (0.00 sec)
Giải thích: SUBSTRING_INDEX(str, delim, count) với count = 1 trả về chuỗi con trước dấu phân cách đầu tiên.