SQL 中 返回一个Table 如果有一列没值则不显示(该列未知)可以写方法和函数 请问该怎么做 谢谢

如题所述

这是个动态脚本问题,并且还是双层的动态脚本,而且还得用到系统表syscolumns和sysobjects

declare @sql1 nvarchar(max),@sql2 nvarchar(max)
-------------------第一部分取不为空值的列名
set @sql1='set @text='' '' '
select @sql1=@sql1+'if not exists(select 1 from 表名字 where '+name+' is not null) set @text=@text+'',''+'' '+name+' ''
' from syscolumns where id =(select id from sysobjects where name ='表名字')
exec sp_executesql @sql1,N'@text nvarchar(max) output',@sql2

--------------第二部分取表内容
set @sql2=stuff(1,1,'select ')+' from 表名字'
exec sp_executesql @sql2来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
无其他回答

SQL 中 返回一个Table 如果有一列没值则不显示(该列未知)可以写方法和...
select @sql1=@sql1+'if not exists(select 1 from 表名字 where '+name+' is not null) set @text=@text+'',''+'' '+name+' ''' from syscolumns where id =(select id from sysobjects where name ='表名字')exec sp_executesql @sql1,N'@text nvarchar(max) output',@sql2 ...

sql 语句令某一行不显示。 例如: 这个行的某一个值为0,不显示这一行
xxx为数值 select * from t where t.xxx != 0 xxx为字符 select * from t where t.xxx != '0'

...sql过滤查询我要查询一个字段里的某个值不显示,其他内容都显示。这...
select * from table where ziduan <> xX为字段值

sql 查询 .有没有让某一列不显示的语句阿!
没有办法!只有老实点一个一个取!select * from table;这就不用说了!

数据库表中有一列中的有些数据不是数字,如何编写一个函数找出这些异常数 ...
如果是sql server 可以用isnumeric函数来判断是否为数字 如果为数字isnumeric返回1,否则为零。如select * from table1 where isnumeric(col1) <> 1

oracle中查询一列的值不在令一列中语录怎么写
同一表关联一次具体SQL如下 select from a a where not exists (select * from a b where a.col1 =b.col2);或者 select from a a where a.col1 not in (select b.col2 from a b where a.col1 =b.col2);希望能帮到你。

...在插入数据时 如果这一列不插入值 默认为0 sql 怎么写?
如Student表,增加一列score表示成绩,默认值为0,sql如下:alter table Student add score integer default 0即可。其中,integer是整数类型。如果再希望该列不为空,则sql如下:alter table Student add score integer default 0 not null即可。

动态执行一个sql语句,要求是某一列值为空,即返回一个值。
--oracle如下:select nvl('a字段为空',a),nvl('b字段为空',b) from 表名;--db2如下:select coalesce('a字段为空',a),coalesce('b字段为空',b) from 表名;

sql语句如何输出除了某一列以外的所有列
比如表有30个列,只用显示29个列。如果固定是第1个列不显示,其他的都显示。可以考虑 写一个 视图, 这个视图,只显示那个表的 2-30列。外部执行SQL的时候,就直接 SELECT * FROM view 就可以了。--- 对于,随机的,不确定数量与位置的,30个列中,每个列都可能不显示的。我暂时还不清楚了。

sql 指定的字段值没有时,也需要显示
select xm,bh,ywdh,(case when szsz<>1 then 0 else szsz end) as szsz from thisTable 取出全部数据,将szsz列按你说的进行转换。若要去掉ywdh的重复行,假设你的xm列是主键,那么可以这样进行:select xm,bh,ywdh,(case when szsz<>1 then 0 else szsz end) as szsz from thisTable ...

相似回答
大家正在搜