SQL

时间:2018-06-22 18:33:00

标签: sql sql-server xml sql-server-2008

我有一个临时表,用于存储位列。我想对这些列进行空检查,并使它们为“空”。

我的代码是

isnull(a.isrecordable, 'null')

这将引发错误

  

将varchar值'null'转换为数据类型位时转换失败

因此,过程是,从我将列存储为bit的临时表中,我想进行isnull检查并提取为XML格式输出,该输出将由转换为JSON。网络工具。在JSON中,我希望该列在没有值时显示为“ null”,因为我不想使该列远离JSON报告。

更新:

更新了我的小查询。 CID无法位,因此替换了列:)

有帮助吗?!

2 个答案:

答案 0 :(得分:5)

由于cast必须比较相同的数据类型,因此您需要将varchar位列添加到isnull

 isnull(cast(cid as varchar(10)), 'null')

答案 1 :(得分:3)

表的列(isrecordable)的数据类型必须与'null'的数据类型匹配。即必须为varchar类型。