gpt4 book ai didi

sql - SQL Server 2008 中的 ISNULL

转载 作者:行者123 更新时间:2023-12-01 01:07:14 27 4
gpt4 key购买 nike

今天我在 SQL 中遇到了 ISNULL 函数的一个奇怪问题

我有包含客户信息的表,我必须显示一个全名,连接名字、中间名首字母和姓氏,在表中我知道中间名首字母是一个可以为空的列。

所以我在 SQL 中使用 ISNULL 函数来返回中间初始值,如果它不为空,这工作正常,但我使用了 ISNULL 函数和下面的表达式,如果 MI 为空,我理想情况下不应该工作,但有趣的是它工作.

SELECT FirstName + ' ' + LastName + ' '+ ISNULL(MI + '.', '') As MiddleInitial 
FROM CS_tblMaster WHERE CustomerNo = 2627240

以上 SOL Query 应该将 MiddleInitial 返回为“.”当 MiddleInitial 为空时,但它确实作为空字符串返回。

所以我写了另一个查询如下。
SELECT (MI + '.') AS MiddleInitial FROM CS_tblMaster WHERE CustomerNo = 2627240

再次给出为 NULL

不知何故,当您将字符串与 NULL 值连接起来时,它会返回 null。我想了解这个实现。

有人可以帮忙吗

最佳答案

如果您想在 MI 为空的情况下放置一个句点,请使用以下命令:(您只是将 '.' 放在错误的位置)

SELECT FirstName + ' ' + LastName + ' '+ ISNULL(MI, '.') As MiddleInitial FROM CS_tblMaster WHERE CustomerNo = 2627240

关于sql - SQL Server 2008 中的 ISNULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17823095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com