2016-10-28 3 views
1

В основном в таблице, я хочу, чтобы удалить все запятые в metadata_value записей столбцов кто-то положил в том, где столбец meta_key равен 15, 16 или 17Удалить запятые из колонки Databse

Итак:

SELECT REPLACE(metadata_value, ',', '') 
FROM project_content_to_metadata 
WHERE metadata_key = '15' 
AND metadata_key = '16' 
AND metadata_key = '17' 

Но это не сработало

ответ

1

Если вы на самом деле хотите, чтобы удалить запятые в таблице, а затем использовать update:

update project_content_to_metadata 
    set metadata_value = REPLACE(metadata_value, ',', '') 
    where metadata_key in (15, 16, 17); 

В противном случае ответ Камиля правильный.

+0

Я, я должен был сообщить об обновлении – Packy

3

Ваш REPLACE правильный, но используйте OR вместо AND. Одна строка не может иметь 3 разных значения. Вы можете использовать IN указать несколько OR условий на одной колонке:

SELECT REPLACE(metadata_value, ',', '') 
FROM project_content_to_metadata 
WHERE metadata_key IN ('15','16','17') 

Кроме того, если ваш metadata_key имеет тип Integer не использовать кавычки значений, так что это может быть:

metadata_key IN (15,16,17) 
Смежные вопросы