请教SQL语句

londy 2003-09-17 04:23:22
表中有多个字段,要查询得到大多数字段。在select中可以直接把不要的字段列出,执行后得到要的吗?
如:有20个字段。
select 1,2,3,4……19
写成select (除了20)
的语句有没有嘛?要是很多字段,一一都列出,不是很麻烦!
...全文
86 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
killxtt 2003-09-30
  • 打赏
  • 举报
回复
字段多的时候写起来是累点,呵呵
killxtt 2003-09-30
  • 打赏
  • 举报
回复
好像没有吧
chenyuanjing 2003-09-30
  • 打赏
  • 举报
回复
只能象txlicenhe说的,在字段的取舍上下功夫
没有直接这样的语句
不过绕过去又绕过来确实象ronaldor所说的:自己找给自己找麻烦
gmlxf 2003-09-29
  • 打赏
  • 举报
回复
首先没有这样的语句。
确实没有这个必要,如果一个字段不要就把全部都列出来好了,就是影响了点速度,不过字段不怎么多相差不大,20个字段列出19个也很快的啊。
ronaldor 2003-09-29
  • 打赏
  • 举报
回复
没有这个必要,除非是大字段,否则效率上没有太大差别,何必给自己找麻烦
txlicenhe 2003-09-17
  • 打赏
  • 举报
回复
1:没有这种语句。
2: 可以变通一下。
/**** 多列中的某一列不查
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name<>'你不要的列名'
set @=left(@,len(@)-1)

exec('select '+@+' from 你的表名')
txlicenhe 2003-09-17
  • 打赏
  • 举报
回复
1:没有这种语句。
2: 可以变通一下。
/**** 多列中的某一列不查
declare @ varchar(8000)
set @=''
select @=@+rtrim(name)+',' from syscolumns where id=object_id('你的表名') and name<>'你不要的列名'
set @=left(@,len(@)-1)

exec('select '+@+' from 你的表名')
伍子V5 2003-09-17
  • 打赏
  • 举报
回复
我不知道有哈,抱歉
ufozq77 2003-09-17
  • 打赏
  • 举报
回复
虽说用
select * from table
再选择自己要的字段,这样可以,但是,这样的执行速度没有将要的字段列出快。
select 字段1,字段2,字段3,字段4,----- from table

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧