当SQL中列值为空时如何返回默认值
答案 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值。检查以下链接。
答案 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
,其中一些FlatName
是NULL
找到NULL
时对默认值的实际查询:
SELECT FlatId,COALESCE([dbo].[Flat].[FlatName],'Default Value When Null Encountered') AS FlatName, FlatDescription FROM [dbo].[Flat]
查询输出:
注意:如果您还有任何疑问,请随时与我们分享。谢谢,祝您编程愉快!