繁体   English   中英

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

[英]How to return a default value when a column value is null in SQL

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

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

SELECT COALESCE (NULL,'A')

当值为 null 并且您希望返回默认值时使用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 选择返回默认值如果为空

当找到任何NULL值时,您似乎正在尝试使用默认值填充您的列。

你可以试试这个:

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

用真实样品测试:

请参阅下面的Table Column ,其中一些FlatNameNULL

在此处输入图片说明

发现NULL对默认值的真实查询:

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

查询输出:

在此处输入图片说明

如果不提供默认值,您可以设计表以添加默认值,而不是返回默认值。 见下面的例子

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

您可以查看以下链接以更好地了解默认约束。 默认约束

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM