У меня есть таблица SQL как UserInfo со столбцами [идентификатор, имя пользователя, подробности]. Мне нужно обновить часть строки из данных столбца.
Например. столбец с подробностями будет выглядеть так:
{"username":"user.sample@nomail.org","rollno":45,"gender":"male"}
P.S .: В реальной БД этот столбец очень длинный, с более подробной информацией, например, я привел несколько приведенных выше деталей.
Условие состоит в том, что значение имени пользователя в столбце сведений должно совпадать со значением в столбце имени пользователя.
У меня n количество несовпадающих записей в БД, что означает, что значение столбца имени пользователя отличается от информации об имени пользователя в столбце сведений.
Ex
id - username - details
23 - new-user@nomail.org - {"username":"user.sample@nomail.org","rollno":45,"gender":"male"}
Поэтому я пытаюсь заменить «имя пользователя»: «значение» в столбце сведений на значение столбца имени пользователя
EX - Ожидаемое должно быть как,
id - username - details
23 - new-user@nomail.org - {"username":"new-user@nomail.org","rollno":45,"gender":"male"}
Для обновления UserInfo я пытаюсь как
update UserInfo
set details = replace(details, \Regex\ ,"username:"+ username)
where id not in (select id from UserInfo where details like '%'+userid+'%' )
Мне нужно регулярное выражение сопоставления с образцом, ["username": "mail-id"], чтобы я мог заменить эту конкретную строку в этом столбце сведений.
Любая идея / предложение по шаблону регулярных выражений будет полезной