#android #sqlite #csv #replace #rename
#Android #sqlite #csv #заменить #переименовать
Вопрос:
В моем приложении для Android есть таблица со столбцом с именем tags, этот столбец может содержать одно или несколько значений, разделенных запятыми, например :
test1,test,test2
теперь я хочу переименовать одно из этих значений во всей таблице, у меня есть следующий запрос :
update mytable
set
tags = replace (tags, ',test,',',XXX,') // rename test with XXX
where
tags like '%,test,%'
это работает нормально, поскольку значение находится между запятыми.
Как я могу добиться этого в ситуации, когда мое значение находится в начале или конце csv или является единственным значением в csv.
Ответ №1:
Вам нужно добавить запятые в начале и в конце столбца и работать с этим:
update mytable
set
tags = trim(replace(',' || tags || ',', ',test,', ',XXX,'), ',')
where
',' || tags || ',' like '%,test,%';
Смотрите демонстрацию