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

Cách xóa các chữ số khỏi cuối chuỗi bằng SQL

Điều này có vẻ hoạt động:

select left( concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))

Concat ('myvalue', '1') là để bảo vệ khỏi các số kết thúc bằng 0.

Đảo ngược lật nó xung quanh để số ở phía trước.

Chuyển đổi bên trong thay đổi chuỗi đảo ngược thành một số, làm giảm các ký tự ở cuối.

Chuyển đổi bên ngoài chuyển phần số trở lại ký tự, vì vậy bạn có thể nhận được độ dài.

Bây giờ bạn biết độ dài của phần số và bạn có thể xác định số ký tự của giá trị ban đầu để cắt bằng hàm "left ()".

Xấu xí, nhưng nó hoạt độ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 hàng mysql các mặt hàng muộn nhất trong 2 ngày

  2. Cách khôi phục tệp SQL do MySQLDump tạo bằng dấu nhắc lệnh

  3. Hàm FIELD của Doctrine 2 theo thứ tự

  4. PacketTooBigException khi chạy phân tích sonar

  5. MySql SELECT liên minh cho các cột khác nhau?