SQL Server Management Studio Studio十进制列,空白值



我有几个列定义为 decimal(16,2)

我想留下值''(空白(。

当我将选择查询为

CASE 
   WHEN FIELD1 IS NULL THEN ''
   ELSE FIELD1 
END AS FIELD_NAME

这将不允许作为列的性质。

您能帮我如何在此列中放置空白值?

非常感谢

您要么需要将值留作NULL(推荐解决方案(,要么将所有内容转换为文本。错误的原因是您无法返回小数和同一列中的文本值(''是文本值(。

要将所有内容转换为文本并插入空白值,请使用以下内容:

SELECT ISNULL(CONVERT(VARCHAR(20), Field1), '')
FROM myTable

我同意注释,但是如果您必须在SQL中进行评论,则可以根据以下代码在案例语句中使用铸件。最好在前端进行处理,因为以下代码意味着您的最终选择返回VARCHAR,而不是十进制。处理的前端,您可以从SQL返回小数,并显示空白。

create table #temp (thing decimal(16,2))
insert into  #temp (thing) values(NULL)
select 
case when thing IS NULL then '' 
else cast(thing as varchar(5)) end
from #temp

相关内容

  • 没有找到相关文章

最新更新