none
Sql Server 数据库,如何遍历一个表的所有列,取出值为空的列,用逗号分隔显示出来 RRS feed

  • 问题

  • Sql Server 数据库,如何遍历一个表的所有列,取出值为空的列,用逗号分隔显示出来。因为有好多表,所以不知道每张表都有哪些列,

    也就是说列是动态的,这种情况是不是只能循环遍历?如何实现?谢谢。



    2018年11月18日 7:14

全部回复

  • 我的意思是,假如一张表有10列,100行数据,就是要取出100行数据中列为空的列名,用逗号分隔拼起来。
    举个例子吧
    比如表TableA数据结构如下:
    列1         列2       列3    列4    列5   列6
     1          张三         a                c
     2          李四                  b       a
     3          王五         m      n                y

    要取出的结果集是:

    1    张三     列4,列6
    2    李四     列3,列6
    3    王五     列5
    2018年11月18日 11:09
  • 如果用SQL实现的话,需要用到游标遍历每一行,判断值是否为null

    如果用.Net实现,执行SQL,select * from tableA 放到一个DataSet中,

    For循环每一行,判断Row[i][column]==DBNull.Value

    组织成你要的数据


    ericzhou

    2018年11月19日 1:24