SQL中列值为空时如何返回默认值

时间:2019-06-08 14:02:41

标签: sql sql-server

当SQL中列值为空时如何返回默认值

4 个答案:

答案 0 :(得分:2)

您可以使用COALESCE。有关更多信息,请参考https://www.sqlshack.com/using-the-sql-coalesce-function-in-sql-server/

SELECT COALESCE (NULL,'A')

答案 1 :(得分:1)

IsNull用于值为空并且您希望返回默认值的情况。

Select IsNull(YourColumn, defaultvalue) 
i.e. 
Select IsNull( CandidateName , ''),  -This is string column and return default value ''
       IsNull(CandidateSalaryExpected, 0),  --This is Integer/Double/Numeric column and return default value 0
       IsNull(MaritalStatus , 0)  --0 - marital means unmarried, 1 means married. This is boolean value

您也可以使用Coalesce值。检查以下链接。

SQL Select Return Default Value If Null

答案 2 :(得分:0)

如果没有提供默认值,则可以设计表以添加默认值,而不是返回默认值。参见下面的示例

CREATE TABLE DemoTable
(
ID INT,
Name VARCHAR(100),
RecordAddedOn DATETIME DEFAULT GETDATE()
)

您可以看一下以下链接,以更好地了解默认约束。 Default Constraint

但是,如果要返回默认值,则可以使用ISNULL(ColumnName,'Default Value')

答案 3 :(得分:0)

似乎在找到任何NULL值时都试图使用默认值来填充列。

您可以尝试以下方法:

 SELECT COALESCE([dbo].YourTableName.[YourColumnName],'Default Value When Null Encountered') AS YourTableAlias  FROM [dbo].[YourTable]

使用真实样本进行测试:

在下面看到我的Table Column,其中一些FlatNameNULL

enter image description here

找到NULL时对默认值的实际查询:

SELECT FlatId,COALESCE([dbo].[Flat].[FlatName],'Default Value When Null Encountered') AS FlatName, FlatDescription  FROM [dbo].[Flat]

查询输出:

enter image description here

  

注意:如果您还有任何疑问,请随时与我们分享。谢谢,祝您编程愉快!