SQL获取数据表中非空数据列

在数据迁移过程中,为了高效地对比数据字段,本文提供了一个SQL存储过程,用于查找数据表中的非空字段。通过创建和执行存储过程,可以得到每个列的长度信息,并最终输出非空列的列表,提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

换系统或者换数据库的时候,需要经常做数据迁移……在一张有很多列的数据表中,想要找到我们想要的字段,对比数据字段,就显得非常重要!而在这么多的列中,想要知道有那些列一定需要去对比,非常困难;有个步骤,可以提高工作效率!就是先找到数据表中非空字段……排除掉这些,对比起来,效率更高!提供以下自己摸索出来的方法,供大家点评!呵呵!

 

Create  PROCEDURE Getcolunmnlent_YX
@tablename NVARCHAR(200)

-- exec Getcolunmnlent_YX 'CURdUsers'
as
--CREATE TABLE Getcolumnlength_YX (ID INT IDENTITY(1,1),NAME nvarchar(100),lengthname int )      ---建议建立永久表,存储数据表中,每一列的实际耗用空间
--CREATE TABLE GetColumnlen_YX (A int)     ----建议建立永久表,存储当列实际耗用空间大小

 TRUNCATE TABLE Getcolumnlength_YX 

INSERT INTO Getcolumnlength_YX
SELECT name ,lengthname=0 FROM SYS.all_columns WHERE object_id IN (
SELECT DISTINCT object_id FROM sys.tables WHERE name=@tablename/*'CURdUsers'*/) -----对比数据,取数据,待对比导入
ORDER BY column_id

--SELECT * FROM Getcolumnlength_YX

DECLARE @i INT,@a INT
S

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值