【问题标题】:Error Encountered with ASAS遇到的错误
【发布时间】:2015-03-12 04:57:13
【问题描述】:

我在此查询上遇到问题,请协助。我试图将 null 值更改为 0,但是当我尝试运行此查询时,它遇到了 AS 的语法错误:

select CAST(COALESCE(STATUS AS NVARCHAR(5))) from dbo.amb_cancel_master

【问题讨论】:

  • 使用 cast(coalesce(status,0) as nvarchar(5))
  • @radar:如果Status列还包含一些其他数据而不是列中的NULL值怎么办?
  • @PareshJ,如果状态不为 NULL,则状态将转换为 varchar,否则使用 0。
  • @radar:它给出错误:将 varchar 值转换为数据类型 int 时转换失败。
  • @PareshJ,状态列类型是 varchar 吗?那么你不需要强制转换,只要 coalesce(status,'0') 就可以了

标签: mysql sql sql-server sql-server-2008


【解决方案1】:

假设您正在使用 Sql Server 2008,您可以在这种情况下使用 ISNULL 而不是 COALESCE,例如:

select isnull(CAST(STATUS as NVARCHAR(5)),'0')
from dbo.amb_cancel_master

【讨论】:

    猜你喜欢
    • 2017-08-09
    • 2019-07-31
    • 1970-01-01
    • 2017-10-11
    • 2014-01-26
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-08-16
    相关资源
    最近更新 更多