如果任何值都为null,我如何在select上返回一个空字符串?

时间:2018-12-26 23:21:19

标签: sql

我有一个表,其中包含草稿的数据。该表上的大多数值都可以为空。我想在值是null的情况下返回一个空字符串,并且正在抓取草稿数据并将其复制到前端。处理此问题的最佳方法是什么?我知道我可以使用ISNULL(variable,''),但不希望它为每个值执行此操作。或前端的三元组返回空字符串(如果为null)。会有更好的方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您可以使用nvl sql函数,该函数允许您将空值更改为所需的任何值。

答案 1 :(得分:0)

在插入或更新表之前,您可以在表上使用触发器,并为所有与“将空值视为空”规则匹配的值填充一个空值。

我认为更改数据模型以满足UI要求不是一个好主意。我宁愿在中间使用一个转换器(或自定义RowMappeer),该转换器将对已经从数据库中提取的数据进行转换。

还请注意,对于某些数据库(例如Oracle),空字符串和null可以互换,在这种情况下,我对使用触发器的建议不起作用。

我知道您说过您不想使用ISNULL,但这是此函数存在的主要原因,因此我宁愿开始使用它。如果您有很多这样的字段,则可以始终使用聪明的编辑器来帮助您使用ISNULL而不是键入来构建查询。