SQL替换所有NULL
发布时间:2020-12-12 16:27:31 所属栏目:MsSql教程 来源:网络整理
导读:我有一个大表,里面有一些NULL.从0表而不是NULL中选择表的最简单方法是什么. 或者如果没有简单的方法可以做到这一点,我愿意用表中的0替换所有空值. 有很多列,我不希望必须使用像ISNULL(FieldName,0)AS FieldName这样的列. 解决方法 正如许多人所说,最好的方法
我有一个大表,里面有一些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等) 编辑:使用默认值计算各种数据类型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SqlServer系统数据库还原(三)系统数据库master-msdb-mode
- 如何找出哪些SQL Server表链接到MS Access?
- 数据库 – 如何设置RRD存储2年?
- MS Access – 链接到另一个Access数据库中的查询
- 数据库建议 – 即用型数据库模型示例
- sql-server – 信息架构和主键
- sql-server – SQL Server适当的Windows O/S页面文件大小
- sql-server – Sql Server 2005 – 如果不存在则插入
- sql-server – 如何复制SQL Server 2005数据库?
- 从SQLSERVER 2008 彻底移除FILESTREAM