Đối với chuỗi đơn hàng MySQL với các số, sau đây là cú pháp, trong đó chúng tôi đã sử dụng ORDER BY, SUBSTR () và CAST () -
CHỌN * TỪ ĐƠN ĐẶT HÀNG CỦA BẠNTableName BYSUBSTR (Tên máy tính của bạn TỪ 1 CHO 2), CAST (SUBSTR (Tên máy tính của bạn TỪ 2) NHƯ CHƯA ĐƯỢC ĐĂNG KÝ);
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> tạo bảng OrderByStringWithNumbers -> (-> Id int NOT NULL AUTO_INCREMENT, -> Words varchar (10), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,86 giây)Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -
mysql> chèn vào giá trị OrderByStringWithNumbers (Words) ('A10'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A30'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,19 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A12'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A11'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,17 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A28'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,13 giây) mysql> chèn vào giá trị OrderByStringWithNumbers (Từ) ('A21'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,20 giây)Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * từ OrderByStringWithNumbers;Sau đây là kết quả -
+ ---- + ------- + | Id | Từ | + ---- + ------- + | 1 | A10 || 2 | A30 || 3 | A12 || 4 | A11 || 5 | A28 || 6 | A21 | + ---- + ------- + 6 hàng trong bộ (0,00 giây)Đây là truy vấn sắp xếp theo chuỗi với số -
mysql> select * từ OrderByStringWithNumbers thứ tự theo -> substr (Từ 1 cho 2), -> ép kiểu (substr (Từ 2) NHƯ CHƯA ĐƯỢC KÝ);Sau đây là kết quả -
+ ---- + ------- + | Id | Từ | + ---- + ------- + | 1 | A10 || 4 | A11 || 3 | A12 || 6 | A21 || 5 | A28 || 2 | A30 | + ---- + ------- + 6 hàng trong bộ (0,00 giây)