如何在SQL Server 2016-Json中修改json数据的现有 bool 值?
以下是用于插入json数据的脚本。
DECLARE @a nvarchar(max) = N'{"employeeName":"Test","isActive":true}';
insert into TestTable(testId,name,jsonData) Values('1','Test',@a)
我尝试使用以下查询进行更新,但返回
无效的列名“false”。
update TestTable
set jsonData = JSON_MODIFY(jsonData,'$.isActive',false)
最佳答案
您可以使用CAST(0 as BIT)
完成此操作
update TestTable
set jsonData = JSON_MODIFY(jsonData, '$.isActive', CAST(0 as BIT))
如果要将其设置为true,则只需使用
CAST(1 as BIT)
即可。之所以可行,是因为在SQL中, bool 值表示为BIT,只能为0或1。在将其转换为JSON时,它将0转换为false,将1转换为true。
关于SQL JSON-如何修改Json数据中存在的 bool 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45228973/