SQL替换所有NULL

前端之家收集整理的这篇文章主要介绍了SQL替换所有NULL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大表,里面有一些NULL.从0表而不是NULL中选择表的最简单方法是什么.

或者如果没有简单的方法可以做到这一点,我愿意用表中的0替换所有空值.

有很多列,我不希望必须使用像ISNULL(FieldName,0)AS FieldName这样的列.

解决方法

正如许多人所说,最好的方法是ISNULL(),但是如果你想要一个简单的方法生成所有那些ISNULL(),请使用以下代码
SELECT 'ISNULL([' + COLUMN_NAME + '],' + 
  CASE 
    WHEN DATA_TYPE = 'bit' THEN '0'
    WHEN DATA_TYPE = 'int' THEN '0'
    WHEN DATA_TYPE = 'decimal' THEN '0'
    WHEN DATA_TYPE = 'date' THEN '''1/1/1900'''
    WHEN DATA_TYPE = 'datetime' THEN '''1/1/1900'''
    WHEN DATA_TYPE = 'uniqueidentifier' THEN '00000000-0000-0000-0000-000000000000'
    ELSE '''''' -- everything else get's an empty string
  END + ') AS [' + COLUMN_NAME + '],'
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TableName'

这将使繁琐的工作变得更加容易,然后您只需编辑输出以考虑各种字段类型(int,varchar,date等)

编辑:使用默认值计算各种数据类型.

原文链接:https://www.f2er.com/mssql/83535.html

猜你在找的MsSQL相关文章