Я попробовал функцию триммера много раз, чтобы удалить пробелы на столбе, но это не так.Функция функции Mysql не работает
update table_name set column_name= TRIM(column_name)
какой-либо руководство пожалуйста.
Я попробовал функцию триммера много раз, чтобы удалить пробелы на столбе, но это не так.Функция функции Mysql не работает
update table_name set column_name= TRIM(column_name)
какой-либо руководство пожалуйста.
Почему бы вам просто не сделать SELECT REPLACE(column_name, ' ', '') FROM table_name
?
дает желаемый результат, но когда я добавляю, где условие не дало его. – JavaFan
Не уверен, что вы подразумеваете под «когда я добавляю при условии». Можете ли вы изменить свой вопрос с помощью обновления? Или задайте новый вопрос, так как это, кажется, было разрешено. – Tavo
Конечно, это не даст вам. Замена удаляет пробелы из возвращаемых данных, тогда как в предложении where вы сравниваете текущие данные в базе данных (которые имеют пробелы). Вы должны поместить оператор replace/trim в предложение where –
Это прекрасно работает для меня.
Попробуйте это,
update yourtablename set price = REPLACE(price, ' ', '');
Если вы хотите удалить пробелы с обеих левой и правой стороны, trim()
должны делать работу за вас.
Вы можете проверить длину возвращаемых значений следующим образом:
select trim(column_name), char_length(trim(column_name)) as length from table_name
Смотрите эту SQLFiddle демо
'TRIM()' удаляет начальные и конечные пробелы. Вы пытаетесь удалить все пробелы? – vhu
Что значит «это не так». В соответствии с отделкой документации удаляются ведущие/конечные/обе области. Вы пытаетесь удалить пробелы во внутренней части столбца (e.x «John Doe») –
@vhu да или по крайней мере белые пробелы с левой стороны – JavaFan