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

Chỉ mục cuối cùng của một chuỗi con nhất định trong MySQL

@Marc B đã đóng. Trong MySQL, câu lệnh sau trả về 12:

SELECT CHAR_LENGTH("Have_a_good_day") - LOCATE('_', REVERSE("Have_a_good_day"))+1;

Dự đoán việc sử dụng giá trị có thể xảy ra, câu lệnh sau sẽ trích xuất phần bên trái của chuỗi trước dấu gạch dưới cuối cùng (tức là, _):

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last")));

Kết quả là "first_middle". Nếu bạn muốn bao gồm dấu phân cách, hãy sử dụng:

SELECT LEFT("first_middle_last", CHAR_LENGTH("first_middle_last") - LOCATE('_', REVERSE("first_middle_last"))+1);

Sẽ thật tuyệt nếu họ nâng cao LOCATE để có tùy chọn bắt đầu tìm kiếm từ bên phải.

Nếu bạn muốn phần bên phải của chuỗi sau dấu cách cuối cùng, giải pháp tốt hơn là:

SELECT SUBSTRING_INDEX("first_middle_last", '_', -1);

Điều này trả về "cuối cùng".



  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ẠO BẢNG NẾU KHÔNG TỒN TẠI không thành công với bảng đã tồn tại

  2. mysql_connect (localhost / 127.0.0.1) chạy chậm trên nền tảng Windows

  3. MySQL Left Join + Min

  4. Laravel:Chỉ mục không xác định:trình điều khiển

  5. Thứ tự MySQL theo nhóm trước