用于替换空值的SQL查询.

Sol*_*pod 3 sql null

我需要一个SQL查询,它返回下表中的ContactDate,SortName,City,ContactType和Summary.如果任何值为null,我需要它返回文本"No Entry".

ContactTable

  • 使用ContactID
  • ContactDate
  • 用户身份
  • 摘要
  • ContactType
  • SortName

用户表

  • 用户身份
  • 名字
  • AddressID

AddressTable

  • AddressID
  • 压缩

For*_*lon 14

SELECT COALESCE(CAST(CONVERT(VARCHAR(10), ContactTable.ContactDate, 101) AS VARCHAR(10)), 'No Entry') AS ContactDate,
       COALESCE(ContactTable.SortName, 'No Entry') AS SortName,
       COALESCE(AddressTable.City, 'No Entry') AS City,
       COALESCE(ContactTable.ContactType, 'No Entry') AS ContactType
FROM ContactTable
LEFT OUTER JOIN UserTable ON ContactTable.UserID = UserTable.UserID
LEFT OUTER JOIN AddressTable ON UserTable.AddressID = AddressTable.AddressID
Run Code Online (Sandbox Code Playgroud)

以下是上面CONVERT语句的SQL DateTime格式图表.


Pit*_*DBA 8

COALESCE()在任何平衡的盐中都是值得的.

确保处理铸造问题.

如:

--(SQL Server)
SELECT
  C.ContactID,
  COALESCE(CAST(CONVERT(varchar(10), C.ContactDate, 101) AS varchar(10), 'No Entry') AS ContactDate,
  COALESCE(SorName, 'No Entry') AS SortName
Run Code Online (Sandbox Code Playgroud)

等等