Функция T-SQL Json_modify

Да - возьмите копию переменной внутри цикла:

while (variable < 5)
{
    int copy = variable;
    actions.Add(() => copy * 2);
    ++ variable;
}

Вы можете думать об этом, как если бы компилятор C # создавал «новую» локальную переменную каждый раз, когда он попадает в объявление переменной. На самом деле он создаст соответствующие новые объекты закрытия, и он становится сложным (с точки зрения реализации), если вы ссылаетесь на переменные в нескольких областях, но он работает:)

Обратите внимание, что более распространенное появление этого проблема заключается в использовании for или foreach:

for (int i=0; i < 10; i++) // Just one variable
foreach (string x in foo) // And again, despite how it reads out loud

Подробнее об этом см. в разделе 7.14.4.2 спецификации C # 3.0, а моя статья о замыканиях еще несколько примеров.

1
задан Dale Burrell 16 January 2019 в 20:16
поделиться

1 ответ

Попробуйте этот запрос:

declare @jsonstring varchar(max) ='{"Width":"100%","Length":"45%"}'  
select JSON_MODIFY(@jsonstring,'$.Height ','50%' ) 

Документация для добавления гласит:

«Необязательный модификатор, который указывает, что новое значение должно добавляться массив , на который ссылается < json path>. "

0
ответ дан Razvan Socol 16 January 2019 в 20:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: