У нас есть сетки, для которых у нас есть пользовательские фильтры, и вы можете сохранить фильтры как объект JSON в конкретной таблице, tblUserPersistedValue
(вместе с пользовательским полем). Таким образом, мы обновляем страницу, и фильтры переходят от идентификаторов с одним выбором к идентификаторам с множественным выбором на четырех различных фильтрах.
Curent JSON:
'{
"ProductGroupID":1,
"TerminalID":1,
"CarrierID":1221,
"RegionID":21,
"DriverDateFilter":0,
"DriverStartDate":"0001-01-01T00:00:00",
"DriverEndDate":"0001-01-01T00:00:00"
}';
Где вы видите "TerminalID":1
, я хотел бы изменить его на "TerminalID":[1]
, чтобы мы не нарушали никаких настроек пользователя при обновлении. К сожалению, я не могу понять, как создать массив int с JSON_MODIFY. Я почти на месте, но он упаковывает значение, которое я сохраняю в кавычки, и это не будет анализироваться в массиве int во время десериализация.
Я никогда раньше не работал с json непосредственно в sql, и мне, должно быть, не хватает чего-то простого. Как мне это исправить? Если невозможно перезаписать существующую запись, я мог бы также создать новую запись TerminalID для анализа и удаления старой.
Конечная цель - сделать это для каждой записи в таблице, один раз для каждой из четыре поля.