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

MySQL:Làm thế nào để loại bỏ các dấu cách kép hoặc nhiều hơn khỏi một chuỗi?

Đây là một thủ thuật cũ không yêu cầu biểu thức chính quy hoặc các hàm phức tạp.

Bạn có thể sử dụng hàm thay thế 3 lần để xử lý bất kỳ số lượng khoảng trắng nào, như sau:

REPLACE('This is    my   long    string',' ','<>')

trở thành:

This<>is<><><><>my<><><>long<><><><>string

Sau đó, bạn thay thế tất cả các lần xuất hiện của '> <' bằng một chuỗi trống '' bằng cách bọc nó trong một chuỗi thay thế khác:

REPLACE(
  REPLACE('This is    my   long    string',' ','<>'),
    '><',''
)

This<>is<>my<>long<>string

Sau đó, cuối cùng một lần thay thế cuối cùng chuyển '<>' trở lại một khoảng trắng duy nhất

REPLACE(
  REPLACE(
    REPLACE('This is    my   long    string',
      ' ','<>'),
    '><',''),
  '<>',' ')

This is my long string

Ví dụ này được tạo bằng MYSQL (đặt một CHỌN ở phía trước) nhưng hoạt động ở nhiều ngôn ngữ.

Lưu ý rằng bạn chỉ cần 3 hàm thay thế để xử lý bất kỳ số ký tự nào cần thay thế.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối với cơ sở dữ liệu MySQL w / C # với tư cách người dùng không phải root?

  2. LỖI 2002 (HY000):Không thể kết nối với máy chủ MySQL cục bộ thông qua socket '/tmp/mysql.sock'

  3. Khóa chính lớn:hơn 1 tỷ hàng MySQL + InnoDB?

  4. Tạo một trang web chia sẻ video, cần một trình phát video

  5. Làm cách nào để chèn khung dữ liệu gấu trúc qua mysqldb vào cơ sở dữ liệu?