declare @TableName nvarchar(200)
set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max)
set @querySql = 'select ' declare @col varchar(50)
declare My_Cursor cursor
for(select name from syscolumns where id = (select max(id) from sysobjects where xtype = 'u' and name = '' + @TableName + '' ) )
open My_Cursor;
fetch next from My_Cursor into @col;
while @@FETCH_STATUS = 0
begin
declare @sql varchar(2000)
declare @TempTable TABLE(NAME NVARCHAR(2000))
delete from @TempTable
set @sql='SELECT '+ @col +' FROM '+@TableName+'' insert @TempTable
exec(@sql) -- if not exists (select NAME from @TempTable where len(NAME)>0 group by NAME) --查询字段值全为空或NULL的列
if exists (select count(1) from @TempTable where isnull(NAME, '')<> '') -- 查询字段值不全为空或NULL的列
begin
set @querySql = @querySql + @col + ', '
end fetch next from My_Cursor into @col;
end
close My_Cursor; --关闭游标
deallocate My_Cursor; --释放游标 if @querySql <> 'select '
begin
set @querySql = left(@querySql, len(@querySql) - 1)
set @querySql = @querySql + ' from ' + @TableName + ''
print (@querySql) exec(@querySql)
end

 

【SQL Server 学习系列】-- SQL查询数据库表字段值不为空或Null的所有列的更多相关文章

  1. SQL查询数据库表字段值不为空或Null的所有列

    ) set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max) set @querySql = 'select ' ) declar ...

  2. 【SQL Server 学习系列】-- 收缩数据库文件大小

    USE WebExam; GO ALTER DATABASE WebExam SET RECOVERY SIMPLE; GO -- 收缩文件到 1 MB. ); GO ALTER DATABASE W ...

  3. Sql Server来龙去脉系列之三 查询过程跟踪

    我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...

  4. SQL Server 学习系列之六

    SQL Server 学习系列之六 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  5. SQL Server 学习系列之五

    SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  6. SQL Server 学习系列之四(SQL 内幕)

    SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...

  7. 【SQL Server 学习系列】-- sql 随机生成中文名字

    原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...

  8. SQL server学习(一)数据库的基本知识、基本操作和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  9. SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...

随机推荐

  1. 提交应用 Windows Phone的应用程序认证要求

    本文介绍了 Windows Phone 应用程序或游戏要通过认证并在 Windows Phone Marketplace 中发布而必须满足的策略和技术要求. 1.0 计划概述 设计认证过程的一个核心原 ...

  2. iOS Programming Camera 1

     iOS Programming Camera  1 1 Displaying Images and UIImageView 1.1  put an instance of UIImageView o ...

  3. Locations for Public Frameworks

    Locations for Public Frameworks Third-party frameworks can go in a number of different file-system l ...

  4. asp 数据库 模块化 - 思路是没一个页面有一个自己的数据类 这里用nPath表示

    <!--#include file="db_class.asp" --> <% '当前页面数据 nPath = "..\..\.." 't模块 ...

  5. windows sdk编程隐藏窗体标题栏

    #include <windows.h> /*消息处理函数声明*/ HRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM ...

  6. CAD参数绘制对齐标注(com接口)

    主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...

  7. java网络编程_IP地址

    InetAddress类,此类表示Internet协议(IP)地址.具体使用方法查看文档:https://docs.oracle.com/en/java/javase/11/docs/api/java ...

  8. Ubuntu-11.10中 vim和Gedit打开html文件中文乱码问题

    解决vim中文乱码方法:     打开/etc/vim/vimrc     添加代码:     set fileencodings=utf-8,gb2312,gbk,gb18030     set t ...

  9. Python:用户自定义异常

    实际开发中,有时候系统提供的异常类型不能满足开发的需求.这时候你可以通过创建一个新的异常类来拥有自己的异常.异常类继承自 Exception 类,可以直接继承,或者间接继承. 1.自定义异常类型 #1 ...

  10. 11.Spring通过工厂方法配置Bean

    通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...