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

Cách xóa khoảng trắng khỏi chuỗi trong MySQL

Vấn đề:

Bạn muốn sắp xếp kết quả của một truy vấn SQL theo thứ tự tăng dần hoặc giảm dần.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên customer_information với dữ liệu trong các cột id , first_name , last_nameemail_address . Các địa chỉ email được người dùng điền theo cách thủ công và một số được nhập với các khoảng trắng không cần thiết do vô tình. Bạn muốn xóa khoảng trắng khỏi địa chỉ email.

id first_name last_name email_address
1 Calvin Rios [email protected]
2 Alan Paterson al an.paterson @ example.com
3 Kurt Evans [email protected]
4 Alex Watkins alex. [email protected]

Giải pháp:

Chúng tôi sẽ sử dụng REPLACE hàm số. Đây là truy vấn:

	SELECT
		first_name,
		last_name,
		REPLACE(email_address, " ", "") AS correct_email_address
	FROM customer_information;

Đây là kết quả của truy vấn:

first_name last_name email_address
Calvin Rios [email protected]
Alan Paterson [email protected]
Kurt Evans [email protected]
Alex Watkins [email protected]

Thảo luận:

Sử dụng REPLACE nếu bạn muốn thay thế tất cả các lần xuất hiện của một chuỗi con trong một chuỗi đã cho. Trong ví dụ của chúng tôi, chúng tôi thay thế các khoảng trắng không cần thiết bằng các giá trị trống.

Hàm này có ba đối số. Sau đây minh họa cú pháp của hàm:

REPLACE(string_expression, substring, new_substring)

Đối số đầu tiên là chuỗi mà chúng tôi muốn sửa đổi. Đối số thứ hai là chuỗi con được thay thế và đối số thứ ba là chuỗi mà chúng ta muốn sử dụng thay cho chuỗi con được thay thế. Chúng tôi loại bỏ các khoảng trắng không mong muốn trong ví dụ của mình, nhưng hàm có thể được sử dụng cho nhiều mục đích. Ví dụ, chúng tôi có thể muốn làm sạch và chuẩn hóa một cột số điện thoại. Chúng ta có thể sử dụng REPLACE chức năng để làm như vậy.

Nếu bạn muốn xóa nhiều ký tự khỏi một chuỗi nhất định, chỉ cần lồng REPLACE hoạt động lần thứ hai. Ví dụ:nếu bạn có một chuỗi có dấu cách và dấu gạch ngang không cần thiết, bạn có thể sử dụng cú pháp sau:

	REPLACE(REPLACE(string_expression, " ", ""), "-", "")

Hãy nhớ rằng các đối số của hàm này trong MySQL có phân biệt chữ hoa chữ thường, vì vậy hãy cẩn thận với các chữ cái.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách xóa hoàn toàn MySQL khỏi Ubuntu

  2. MySQL loại bỏ một số khóa ngoại

  3. Laravel Eloquent chọn tất cả các hàng có max create_at

  4. Lỗi 1064 trong TẠO BẢNG ... TYPE =MYISAM

  5. Cách thay đổi giá trị tăng tự động của cơ sở dữ liệu MySQL / MariaDB