Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Sử dụng toán tử so sánh cho chuỗi số trong MySQL với SUBSTRING

Khi cột lưu chuỗi dạng "5-9" (khoảng), dùng SUBSTRING + INSTR tách phần trước dấu '-', ép kiểu CAST(... AS SIGNED) để so sánh số.

Ví dụ minh họa

Tạo bảng khoảng năm học:

mysql> CREATE TABLE DemoTable1881 (UserId INT, UserEducationGap VARCHAR(20));
mysql> INSERT INTO DemoTable1881 VALUES(101,'5-9'),(102,'2-4'),(103,'4-8'),(104,'7-12');

Lọc khoảng bắt đầu >= 4:

mysql> SELECT * FROM DemoTable1881
    WHERE CAST(SUBSTRING(UserEducationGap, 1, INSTR(UserEducationGap,'-')-1) AS SIGNED) >= 4;

Kết quả (5-9, 4-8, 7-12):

+--------+------------------+
| UserId | UserEducationGap |
+--------+------------------+
|    101 | 5-9              |
|    103 | 4-8              |
|    104 | 7-12             |
+--------+------------------+

Mẹo: MySQL 8 hỗ trợ REGEXP_SUBSTR tách số đầu tiên: CAST(REGEXP_SUBSTR(UserEducationGap, '^[0-9]+') AS UNSIGNED) >= 4.