Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng regex với LIKE để sắp xếp các bảng chữ cái trước rồi đến các ký hiệu SQL

Hãy thử điều này:

SELECT * 
FROM travels.destinations AS D
WHERE D.name LIKE '%act%' AND D.sold = 'N' AND D.active = '1'
ORDER BY CASE WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE 'act%' THEN 0
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act' THEN 1
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act%' THEN 2
              ELSE 3 
         END, 
         D.name 
LIMIT 10



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt hàng nhiều cột ASC

  2. Bất kỳ lý do gì để không sử dụng các thủ tục được lưu trữ cho mọi truy vấn?

  3. Làm thế nào để xem các tệp nhật ký trong MySQL?

  4. Ví dụ về MySQL REGEXP

  5. Dữ liệu hiển thị trong các hàng đến cột