如何查询一个表中除某几个字段外其余全部的字段

话说楼主刚开始也不知道怎么查,而后就开始百度了程序员

大部分网友都是建议一个一个写 固然程序员是最懒的啦,一个一个写多痛苦啊sql

接着找编程

还别说csdn里还有很多大牛的json

因而出现了这个脚本后端

 

declare   @s   nvarchar ( 1000 )
select  @s = isnull( @s + ' , ', '') + quotename(Name)  from syscolumns  where ID = object_id( ' 表名 'and Name  not  in( ' 排除字段 'order  by colid 
exec( ' select  ' + @s + '  from 表名 ')

 执行以后 哇 完美 正是我想要的结果ide

而后博主闲着没事又往下翻了翻有另一个网友也给出了相似的方法代码以下:工具

 

获得表中除Col一、Col2的全部列
例如:userno_fm、userno_to
create  table test(
       num  int  identity( 1, 1),
       userno_fm  varchar( 10),
       userno_to  varchar( 10),
       username  varchar( 10))
select  *  from test

declare  @sql  varchar( 8000)
     select  @sql = ''
     select  @sql = @sql + ' , ' + [ name ]  from 
    ( select  [ name ]  from syscolumns  where  object_id(N ' [test] ') = [ id ]  and  [ name ]  not  in ( ' userno_fm ', ' userno_to ')) A

     set  @sql = ' select  ' + stuff( @sql, 1, 1, '') + '  from [test] '
     -- print @sql
     exec ( @sql)

drop  table test

执行一下 结果是相同的spa

也能够看出两个方法直接的差异.net

第一个堪称完美code

第二个有点笨拙由于  

select @sql='' select @sql=@sql+','+[name] from  能够用@s=isnull(@s+',','')代替

 'select '+stuff(@sql,1,1,'') 不如 quotename(Name)方便直接

不过第二个也正是博主的写做风格因此博主才有切身的感觉见到第一个代码如土鳖与到了女神

今天又一次感觉到了编程之美,代码之美 心中一阵清风吹过 爽

博主又有了新猜测,之后直接用sql查询出json格式的数据就不用在后端第三方工具将table转换了  

文中代码引自: http://bbs.csdn.net/topics/330143955#quote

相关文章
相关标签/搜索