Hãy tưởng tượng bạn đã nhập dữ liệu vào cơ sở dữ liệu và sau đó phát hiện ra rằng bạn cũng đã nhập các nguồn cấp dữ liệu dòng và muốn xóa chúng. Điều này có thể được thực hiện bằng cách sử dụng câu lệnh UPDATE với hàm REPLACE
Trong ví dụ của chúng tôi ở đây, chúng tôi có một bảng tên là “enter” với một trường duy nhất là “chuỗi”. Trường “chuỗi” chứa một số văn bản
mysql> select * from enter; +-------------------+ | string | +-------------------+ | This is a test 1 | | This is a test 2 | +-------------------+ 2 rows in set [0.00 sec]
Bây giờ chúng ta cần đưa ra câu lệnh CẬP NHẬT bằng cách sử dụng hàm REPLACE. Trong MySQL, tập hợp các ký tự “\n” đại diện cho ký tự nguồn cấp dữ liệu. Trả về vận chuyển được thể hiện bằng dấu “\r”
mysql> update enter set string = replace[string, "\n", ""]; Query OK, 2 rows affected [0.00 sec] Rows matched: 2 Changed: 2 Warnings: 0 mysql> select * from enter; +------------------+ | string | +------------------+ | This is a test 1 | | This is a test 2 | +------------------+ 2 rows in set [0.00 sec]
Chức năng này có thể hoạt động tốt như nhau đối với văn bản loại DOS có cả ký tự xuống dòng và xuống dòng bằng cách thay đổi REPLACE để bao gồm “\ r” ngoài ký tự xuống dòng như sau
UPDATE enter SET string = REPLACE[string, "\r\n", ""];
Thứ tự mà các ký tự nguồn cấp dữ liệu xuống dòng xuất hiện trong hàm REPLACE rất quan trọng vì nó sẽ tìm kiếm tất cả các mục nhập có nguồn cấp dữ liệu xuống dòng và không có trả về dòng cấp dữ liệu
Mysql có hàm REPLACE có thể được sử dụng để thay thế bất kỳ số lần xuất hiện nào của một chuỗi hoặc ký tự cụ thể trong một chuỗi đã cho. Tương tự, bạn có thể thay thế NEWLINE char trong một chuỗi bằng bất kỳ thứ gì bạn chọn
cú pháp
SELECT REPLACE[,'\n',' '] from
Thí dụ. Giả sử cột Mô tả của bảng Email có nội dung như bên dưới
Description
-----------------------------
Hello, Good MorningHai have a wonderful day
regardsThe Manager
Vì vậy, giá trị cột ở trên có một vài ký tự NEWLINE và nếu chúng tôi áp dụng thay thế ở đây bằng truy vấn bên dưới
Đôi khi, bạn có các tab, ngắt dòng, đoạn văn không mong muốn, v.v. trong một cột bảng. Với đoạn mã sau, bạn có thể xóa giá trị của cột một cách nhanh chóng
[sql]cập nhật mytable
đặt mycolumn = REPLACE[REPLACE[REPLACE[mycolumn, ‘t’, ”], ‘r’, ”], ‘n’, ”][/sql]
truy vấn trên loại bỏ tất cả các lần xuất hiện của xuống dòng và xuống dòng khỏi dữ liệu trường. Truy vấn sau đây chỉ loại bỏ trả về vận chuyển đào tạo và nguồn cấp dữ liệu
SELECT TRIM[TRAILING '\r\n' FROM field_name] FROM table_name;
Thí dụ.
SELECT REPLACE[REPLACE[word, '\r', ''], '\n', ''] FROM thesaurus;
SELECT TRIM[TRAILING '\r\n' FROM word] FROM thesaurus;
SQL để cập nhật một trường jđể xóa xuống dòng và xuống dòng khỏi cột trong bảng MySQL
________số 8_______Thí dụ
UPDATE thesaurus SET word = REPLACE[REPLACE[word, '\r', ''], '\n', ''];
Hàm Trim[] được sử dụng để xóa các ký tự dòng mới khỏi các hàng dữ liệu trong MySQL. Hãy để chúng tôi xem một ví dụ. Đầu tiên, chúng ta sẽ tạo một bảng. Lệnh CREATE dùng để tạo bảng
mysql> create table tblDemotrail - > [ - > id int, - > name varchar[100] - > ]; Query OK, 0 rows affected [0.57 sec]
Bây giờ chúng ta hãy chèn một số bản ghi
mysql> insert into tblDemotrail values[1,'John ']; Query OK, 1 row affected [0.15 sec] mysql> insert into tblDemotrail values[2,' Carol']; Query OK, 1 row affected [0.32 sec] mysql> insert into tblDemotrail values[3,' Sam ']; Query OK, 1 row affected [0.17 sec] mysql> insert into tblDemotrail values[4,' Tom
']; Query OK, 1 row affected [0.18 sec] mysql> insert into tblDemotrail values[5,'
Tim ']; Query OK, 1 row affected [0.12 sec]
Hãy để chúng tôi hiển thị tất cả các bản ghi
mysql> select *from tblDemotrail;
Sau đây là đầu ra trông không giống bản ghi bình thường, vì chúng tôi đã bao gồm các ký tự dòng mới trong khi thêm bản ghi