如何查询一个表中除某几个字段外其他所有的字段
2015-04-28 11:31
393 查看
话说楼主刚开始也不知道怎么查,然后就开始百度了
大部分网友都是建议一个一个写 当然程序员是最懒的啦,一个一个写多痛苦啊
接着找
还别说csdn里还有不少大牛的
于是出现了这个脚本
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 表名') 执行之后 哇 完美 正是我想要的结果
然后博主闲着没事又往下翻了翻有另外一个网友也给出了类似的方法代码如下:
得到表中除Col1、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执行一下 结果是相同的
也可以看出两个方法直接的差别
第一个堪称完美
第二个有点笨拙因为
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
大部分网友都是建议一个一个写 当然程序员是最懒的啦,一个一个写多痛苦啊
接着找
还别说csdn里还有不少大牛的
于是出现了这个脚本
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 表名') 执行之后 哇 完美 正是我想要的结果
然后博主闲着没事又往下翻了翻有另外一个网友也给出了类似的方法代码如下:
得到表中除Col1、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执行一下 结果是相同的
也可以看出两个方法直接的差别
第一个堪称完美
第二个有点笨拙因为
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
相关文章推荐
- mysql如何查询一个表中所有字段的名字
- 如何用SQL语句查询一个数据表所有字段的类型
- 如何在Oracle数据库中查询所有表中含有某一个字段
- hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类与之对应如何解决?
- sql如何获取某一个表的所有字段名,并且有一个字段的统计数
- 查询一个表中所有id字段在另一个表中对应值的SQL语句怎么写?
- 同表两个字段二选一查询mysql中如何判断某一个字段是否存在某一个值
- 关于如何查询一个期刊是否被SCI或其他机构收录
- oracle sql语句如何检索出一个表的所有字段
- sqlserver 查询一个表的所有字段代码
- 一个字段同时查询几个不同值的SQL
- 查询postgresql数据库所有表中的所有字段包含一个字符串
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- 如何 distinct 只对一个字段有用,同时查出其他字段
- 一个表里有多个字段需要同时使用字典表进行关联显示,如何写sql查询语句
- SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
- SQL一个用户具有多个角色,请查询出该表中具有该用户的所有角色的其他用户
- sql查询语句时怎么把几个字段拼接成一个字段