【问题标题】:How to convert Null to Empty String with SQL如何使用 SQL 将 Null 转换为空字符串
【发布时间】:2021-06-23 17:19:53
【问题描述】:

我想将 Null 数据转换为空字符串。我该怎么做?

这是我的专栏截图,全部为空。

这是我的存储过程代码;

ISNULL(CustomerStatusId, '') AS StatusId

这是我的网站截图,全部为零。

【问题讨论】:

  • 如果是 numerical 列,则空字符串将显示为 0 ....
  • 哪种数据类型可以显示为空字符串?我可以更改数据类型。
  • 一个字符串,很可能.....
  • 当您只返回 CustomerStatusId 到您的网站时会发生什么?
  • 返回“未定义”

标签: sql sql-server database


【解决方案1】:

问题在于该列具有某种数字类型。需要转换成字符串值,即使值是NULL

COALESCE(CAST(CustomerStatusId as VARCHAR(255)), '') AS StatusId

【讨论】:

  • 现在我又得到了“Null”。顺便说一句,列数据类型是 int。
  • @miracdogan 。 . .这对于 SQL Server 来说确实是不可能的。
  • 我认为这与列数据类型有关。
  • @miracdogan 。 . .如果将其存储在表中,则不能将字符串值存储在具有数字数据类型的列中。
  • 那么如何将varchar类型的数据打印为空白呢?无论在数据库中写入什么,我都希望它作为一个空字符串。
【解决方案2】:

如果您的列值 id 为 0,请使用 NULLIFCoalesce() 而不是 IsNull。 NULLIF(CustomerStatusId,0) 将返回 null,它将被 Coalesce() 替换为 ''。

Coalesce(nullif(CustomerStatusId,0), '') AS StatusId

【讨论】:

  • 我又得了 0。可能是关于日期类型的列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-08
  • 2020-06-20
  • 1970-01-01
  • 2014-10-01
  • 1970-01-01
相关资源
最近更新 更多