2012-04-10 55 views
17

Tôi đang tìm cách xóa một số ký tự khỏi phần cuối của một trường trong cơ sở dữ liệu MySql của tôi.Cách xóa ký tự khỏi phần cuối của trường trong cơ sở dữ liệu MySql

Giả sử tôi có một bảng gọi là 'các mặt hàng' và có một trường được gọi là 'mô tả', một số mô tả đó có số < br ở cuối. Có thể có một trường hợp đơn lẻ hoặc có thể là 2-3 <br> ở cuối trường đó.

Tôi cần tìm cách thông qua PHP/MySql để cắt bỏ các số <br> này. Có thể có một số khác là <br> trong phần mô tả mà tôi muốn giữ lại, nó chỉ là thứ mà tôi cần phải loại bỏ.

Tôi biết tôi có thể lặp qua tất cả các mục nhập, kiểm tra thẻ đó ở cuối, nếu nó tồn tại tách nó ra, và sau đó cập nhật DB với giá trị mới. Nhưng điều này có vẻ như là một chặng đường dài để làm điều đó, và tôi không chắc chắn làm thế nào để đạt được những gì tôi đang cố gắng làm tốt nhất.

+0

bạn cũng có thể sử dụng xóa nếu bạn không có dấu ngoặc ở giữa hoặc bắt đầu –

Trả lời

28

Tôi không có một trường hợp mysql để kiểm tra, nhưng một cái gì đó như thế này có lẽ sẽ làm điều đó:

UPDATE myTable 
    SET myCol = TRIM(TRAILING '<br>' FROM myCol); 

Hãy xem xét một số các string functions.

10

Bạn có thể sử dụng hàm TRIM trong mysql.

UPDATE items SET descriptions = TRIM(TRAILING "<br>" FROM descriptions) 

Cách sử dụng TRIM là here.

+0

Tôi nên rõ ràng hơn một chút trong câu hỏi của mình. Các ký tự tôi muốn xóa là
, bất kể số lượng ký tự là bao nhiêu. Tôi đã không cố gắng xóa "
". –

+0

Tôi đã bình chọn câu trả lời của bạn. –

+0

@SherwinFlight Ok, tôi sẽ chỉnh sửa câu trả lời. – yaronli

2

Sử dụng SUBSTRING và LENGTH để cắt trường. Một cái gì đó như

UPDATE MyTable SET MyField=SUBSTRING(MyField,1,LENGTH(MyField)-4) 
WHERE MyField LIKE '%<br>' 
+0

... Và sau đó bạn sẽ chạy truy vấn nhiều lần cho đến khi không có mục nhập nào khớp với 'LIKE '% br''. Tài giỏi! – octern

+1

Đối số giữa trên SUBSTRING phải là một đối số, không phải là số không. http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring –

+0

Đó là lý do tại sao tôi nói "một cái gì đó như" :). Cảm ơn, đã chỉnh sửa. – SteveCav

Các vấn đề liên quan