Luôn có khả năng người dùng không thể nhập các giá trị như bạn mong đợi và dữ liệu được lưu trên bảng Cơ sở dữ liệu. e. g. khoảng trắng hoặc ký tự không mong muốn có giá trị
Bạn sẽ thấy sự cố khi kiểm tra các bản ghi trùng lặp hoặc sắp xếp danh sách
MySQL có một số hàm chuỗi mà bạn có thể sử dụng để loại bỏ khoảng trắng hoặc ký tự thừa khỏi trường
nội dung
1. Phương pháp
- TRIM[] – Điều này loại bỏ khoảng trắng hoặc ký tự thừa từ cả hai bên hoặc một bên cụ thể của giá trị
Cú pháp –
TRIM[ column-name ]
HOẶC LÀ
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
Thí dụ
TRIM[ name ]
HOẶC LÀ
TRIM[BOTH '' FROM name ]
- LTRIM[] – Thao tác này sẽ xóa khoảng trắng ở phía bên trái của giá trị
Cú pháp –
LTRIM[ column-name ]
- RTRIM[] – Thao tác này sẽ xóa khoảng trắng ở bên phải của giá trị
Cú pháp –
RTRIM[ column-name ]
Thí dụ
RTRIM[ name ]
2. Cập nhật
Bạn có thể sử dụng các truy vấn sau để cập nhật các bản ghi hiện có của mình nếu trường chứa khoảng trắng hoặc ký tự không mong muốn
- Loại bỏ khoảng trắng ở cả hai đầu của cột
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
3
- Xóa ký tự
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
4 khỏi cả hai đầu của cộtTRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
3
UPDATE users set name=TRIM[BOTH '1' FROM name]
- Loại bỏ ký tự
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
6 ở phía bên trái của cộtTRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
7
UPDATE users set username=TRIM[LEADING '-' FROM username]
- Xóa ký tự
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
6 ở bên phải của cộtTRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
7
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]0
- Loại bỏ khoảng trắng ở phía bên trái của cột
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
3
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]1
- Loại bỏ khoảng trắng ở phía bên phải của cột
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]
3
TRIM[[LEADING|TRAILING|BOTH ] [ remove value ] FROM [field-name or string] ]2
3. Kết luận
Trong hướng dẫn này, tôi đã chỉ ra cách bạn có thể xóa khoảng trắng thừa khỏi bản ghi hiện có của mình bằng các hàm chuỗi MySQL
Hãy để chúng tôi bắt đầu bằng cách tạo bảng dữ liệu mẫu có tên student_name_details và chèn một số hàng vào đó
#create the table student_name_details CREATE TABLE student_name_details [ student_id INT, student_name VARCHAR[255] ]; #insert rows into student_name_details INSERT INTO student_name_details[student_id,student_name] VALUES[1," Dani el "], [2," Sandy"], [3,"Rym a"], [4,"Jenni fer"], [5," Austin "], [6,"Geor ge "], [7,"Veroni ca"];
Xem ảnh chụp nhanh của bảng tên_sinh_viên bằng cách thực thi
đầu ra. -
quảng cáo
Kết quả trong image_1 cho thấy các giá trị trong cột student_name có khoảng trắng ở giữa, bắt đầu và kết thúc giá trị. Chúng ta hãy tiếp tục để xem cách xóa tất cả khoảng trắng cho toàn bộ giá trị cột
Xóa tất cả khoảng trắng khỏi toàn bộ giá trị cột
Phần này sẽ xóa tất cả các khoảng trắng khỏi giá trị của cột student_name. Chúng ta sẽ sử dụng hàm replace[] vì hàm replace[] sẽ xóa các khoảng trắng ở giữa, bắt đầu và kết thúc giá trị chuỗi.
cú pháp. -
UPDATE tableName SET columnName = REPLACE[columnName, 'charactersToBeReplaced', 'charactersToBeReplacedWith'];TênMô tảbảngTênTên của bảng. cộtNameName của cột có giá trị sẽ được cập nhật. charactersToBeReplacedCác ký tự cần xóa khỏi mỗi giá trị. ký tựToBeReplacedWithCác ký tự mới sẽ là một phần của mỗi giá trị cột thay vì ký tựToBeReplaced. Bảng 1
Quan sát truy vấn bên dưới như một ví dụ minh họa
UPDATE student_name_details SET student_name = REPLACE[student_name, ' ', ''];
Thông báo đầu ra hành động. -
13. 49. 36 CẬP NHẬT tên_chi tiết_sinh viên SET_tên_sinh viên = REPLACE[student_name, ‘ ‘, ”] 7 hàng bị ảnh hưởng Các hàng khớp. 7 đã thay đổi. 7 cảnh báo. 0 0. 012 giây
Hãy để chúng tôi xem nếu các khoảng trắng đã được loại bỏ bằng cách thực hiện
SELECT * FROM student_name_details;
đầu ra. -
Giải trình. -
Kết quả trong image_2 cho thấy rằng tất cả các khoảng trắng từ cột student_name đã bị xóa. Hàm thay thế [] trong truy vấn của chúng tôi đang tìm tất cả các khoảng trắng và thay thế chúng bằng không
Xóa khoảng trắng khỏi đầu hoặc cuối của toàn bộ giá trị cột
Phần này sẽ xóa các khoảng trắng ở đầu hoặc cuối các giá trị khỏi cột student_name. Chúng ta sẽ sử dụng hàm trim[]
cú pháp. -
UPDATE tableName SET columnName = TRIM[[{BOTH | LEADING | TRAILING} [charactersToBeRemoved] FROM ] columnName];TênMô tảbảngTênTên của bảng. cộtNameName của cột có giá trị sẽ được cập nhật. charactersToBeRemovedCác ký tự cần xóa khỏi mỗi giá trị. CẢ HAI, DẪN ĐẦU, THEO DÕI CẢ HAI. được sử dụng khi chúng tôi muốn xóa các ký tự từ đầu và cuối
LÃNH ĐẠO. được sử dụng khi chúng tôi muốn loại bỏ các ký tự từ đầu
THEO DÕI. được sử dụng khi chúng tôi muốn xóa các ký tự ở cuối
CẢ HAI/DẪN ĐẦU/TRAILING là tùy chọn
** Nếu không có tham số nào, CẢ HAI được áp dụng theo mặc định. ban 2
Quan sát truy vấn bên dưới như một ví dụ minh họa
UPDATE student_name_details SET student_name = TRIM[' ' FROM student_name];
Thông báo đầu ra hành động. -
16. 27. 45 CẬP NHẬT_tên_chi_tiết_sinh_viên SET_tên_sinh_viên = TRIM[‘ ‘ TỪ_tên_sinh_viên] 0 hàng bị ảnh hưởng Các hàng khớp. 7 đã thay đổi. 0 cảnh báo. 0 0. 0012 giây
Hãy để chúng tôi xem liệu các khoảng trắng ở đầu và cuối có bị xóa bằng cách thực thi không
SELECT * FROM student_name_details;
đầu ra. -
Giải trình. -
Lưu ý rằng truy vấn được áp dụng cho dữ liệu gốc của bảng tên_sinh_viên như trong hình ảnh_1. Đầu ra trong image_3 cho thấy rằng tất cả khoảng trắng từ đầu và cuối của mỗi giá trị đều bị xóa nhưng vẫn có khoảng trắng giữa các giá trị. Hàm Trim[] sẽ chỉ xóa các ký tự đầu, cuối, khoảng trắng trong ví dụ của chúng tôi