MySQL ลบช่องว่างทั้งหมดออกจากคอลัมน์ทั้งหมด


99

มีวิธีลบช่องว่างทั้งหมดออกจากคอลัมน์เฉพาะสำหรับค่าทั้งหมดหรือไม่?


1
เมื่อคุณต้องลบช่องว่างสีขาว? โดยการอัปเดตหรือเลือก? ไม่ชัดเจน!
151291

คำตอบ:


206

เพื่อแทนที่all spaces:

UPDATE `table` SET `col_name` = REPLACE(`col_name`, ' ', '')

ในการลบtabsอักขระทั้งหมด:

UPDATE `table` SET `col_name` = REPLACE(`col_name`, '\t', '' )

ในการลบnew lineอักขระทั้งหมด:

UPDATE `table` SET `col_name` = REPLACE(`col_name`, '\n', '')

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace

ในการลบfirst and last space(s)คอลัมน์:

UPDATE `table` SET `col_name` = TRIM(`col_name`)

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_trim


5
TRIMลบช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของสตริงเท่านั้น
Michael Mior

ใช้งานได้ :) แม้ว่าจะเห็นได้ชัดว่าจะลบช่องว่างและไม่ใช่แท็บหรือขึ้นบรรทัดใหม่ ไม่ชัดเจนว่า OP ต้องการอะไร
Michael Mior

4
หากคุณต้องการลบแท็บเพียงแค่ทำการ UPDATE tableSET col_name= REPLACE ( col_name, '\ t', '')
Chella

1
ในการลบบรรทัดใหม่: UPDATE table set col_name = REPLACE (col_name, '\ r', '');
Chris Sim

2
พื้นที่สองเท่าหรือสามเท่า?
ครองราชย์

10

เนื่องจากคำถามคือวิธีแทนที่ช่องว่างทั้งหมด

UPDATE `table` 
SET `col_name` = REPLACE
(REPLACE(REPLACE(`col_name`, ' ', ''), '\t', ''), '\n', '');

8

แบบสอบถามการทำงาน:

SELECT replace(col_name , ' ','') FROM table_name;

แม้ว่าจะไม่:

SELECT trim(col_name) FROM table_name;


3

การใช้แบบสอบถามด้านล่างนี้คุณสามารถลบช่องว่างนำหน้าและต่อท้ายใน MySQL ได้

UPDATE `table_name`
SET `col_name` = TRIM(`col_name`);

0

เพียงใช้ sql ต่อไปนี้คุณทำเสร็จแล้ว:

SELECT replace(CustomerName,' ', '') FROM Customers;

คุณสามารถทดสอบตัวอย่างนี้ได้ที่นี่: W3School


1
คำถามคือวิธี "ลบช่องว่างทั้งหมดออกจากคอลัมน์เฉพาะสำหรับค่าทั้งหมด" ซึ่งคำตอบของคุณไม่ต้องพูดถึงคำตอบในเดือนพฤษภาคมจะดีกว่า
daticon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.