gpt4 book ai didi

sql - 元素为null时如何返回null

转载 作者:行者123 更新时间:2023-12-01 13:37:07 25 4
gpt4 key购买 nike

我正在将 xml 字符串转换为表类型:

SELECT
[Guid] = r.value('(Guid)[1]', 'uniqueidentifier'),
[Id] = r.value('(Id)[1]', 'int'),
[SomeColumn] = r.value('(SomeColumn)[1]', 'int'),
FROM
@xml.nodes('//Items') AS T(r)

其中 SomeColumn 是一个可为 null 的 int。传递的 xml 是此元素的以下内容:

<SomeColumn xsi:nil="true" />

但是,该列设置为 0 而不是 null。有没有办法强制在实际为 null 的可空列上返回 null?

最佳答案

好吧,您可以将其检索为 varchar 而不是 int,然后检查检索到的字符串是否为空,例如:

SELECT
[Guid] = r.value('(Guid)[1]', 'uniqueidentifier'),
[Id] = r.value('(Id)[1]', 'int'),
[SomeColumn] = cast(nullif(r.value('(SomeColumn)[1]', 'varchar(20)'), '') as int)
FROM
@xml.nodes('//Items') AS T(r)

关于sql - 元素为null时如何返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com