【SQL Server 学习系列】-- SQL查询数据库表字段值不为空或Null的所有列
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的所有列的更多相关文章
- SQL查询数据库表字段值不为空或Null的所有列
) set @TableName = 'Agency' -- 表名 declare @querySql nvarchar(max) set @querySql = 'select ' ) declar ...
- 【SQL Server 学习系列】-- 收缩数据库文件大小
USE WebExam; GO ALTER DATABASE WebExam SET RECOVERY SIMPLE; GO -- 收缩文件到 1 MB. ); GO ALTER DATABASE W ...
- Sql Server来龙去脉系列之三 查询过程跟踪
我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...
- SQL Server 学习系列之六
SQL Server 学习系列之六 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...
- SQL Server 学习系列之五
SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...
- SQL Server 学习系列之四(SQL 内幕)
SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...
- 【SQL Server 学习系列】-- sql 随机生成中文名字
原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...
- SQL server学习(一)数据库的基本知识、基本操作和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...
随机推荐
- 提交应用 Windows Phone的应用程序认证要求
本文介绍了 Windows Phone 应用程序或游戏要通过认证并在 Windows Phone Marketplace 中发布而必须满足的策略和技术要求. 1.0 计划概述 设计认证过程的一个核心原 ...
- iOS Programming Camera 1
iOS Programming Camera 1 1 Displaying Images and UIImageView 1.1 put an instance of UIImageView o ...
- Locations for Public Frameworks
Locations for Public Frameworks Third-party frameworks can go in a number of different file-system l ...
- asp 数据库 模块化 - 思路是没一个页面有一个自己的数据类 这里用nPath表示
<!--#include file="db_class.asp" --> <% '当前页面数据 nPath = "..\..\.." 't模块 ...
- windows sdk编程隐藏窗体标题栏
#include <windows.h> /*消息处理函数声明*/ HRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM ...
- CAD参数绘制对齐标注(com接口)
主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...
- java网络编程_IP地址
InetAddress类,此类表示Internet协议(IP)地址.具体使用方法查看文档:https://docs.oracle.com/en/java/javase/11/docs/api/java ...
- Ubuntu-11.10中 vim和Gedit打开html文件中文乱码问题
解决vim中文乱码方法: 打开/etc/vim/vimrc 添加代码: set fileencodings=utf-8,gb2312,gbk,gb18030 set t ...
- Python:用户自定义异常
实际开发中,有时候系统提供的异常类型不能满足开发的需求.这时候你可以通过创建一个新的异常类来拥有自己的异常.异常类继承自 Exception 类,可以直接继承,或者间接继承. 1.自定义异常类型 #1 ...
- 11.Spring通过工厂方法配置Bean
通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...