【发布时间】:2016-02-22 14:54:15
【问题描述】:
我有一个简单的查询,它根据一些数据生成报告。如果字段值为null,我需要在报表上输入N/A的值。
为此,我这样做:ISNULL(proj.projectID, 'N/A) as projectID
这会返回错误:Error: conversion faield when converting the varchar value 'N/A' to data type int。
我尝试这样做,但得到了同样的错误:
CAST(ISNULL(proj.projectID, 'N/A) as varchar) as projectID
我怎样才能做到这一点?
【问题讨论】:
-
您不能在单个列中包含混合数据类型。您要么必须将所有数据转换为 varchar,要么首选选项是将这种类型的格式留给前端。
-
你应该在
ISNULL之前使用CAST:ISNULL(CAST(projectID AS VARCHAR(50)),'N/A')
标签: sql-server tsql stored-procedures sql-server-2012