sql server中的一个小问题

yan11cn 2009-11-10 01:57:41
如何在列多的情况下 排除某一列显示其余那些列呢 是用什么关键词呢
...全文
91 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
一颗小草333 2009-11-10
  • 打赏
  • 举报
回复
初学SQL SERVER2005,以后要多指教了!
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
好吧 我再想想你说的。。 谢谢啦
SQL77 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 yan11cn 的回复:]
不是 我的列 是有哪些类型的值的
[/Quote]
作为值有什么关系,那些只是组成查询语句而已

最后就像
SELECT NAME,ID FROM TB 
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
不是 我的列 是有哪些类型的值的
SQL77 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yan11cn 的回复:]
我在sql server里运行不通过 显示格式无法强转 因为我的列有float nchar int 该怎么修改能运行呢?
[/Quote]
你是说你的列用那些做为列名的??

DECLARE @SQL_COLUMNS NAVRCHAR(4000)
SELECT
@SQL_COLUMNS=ISNULL( @SQL_COLUMNS+',','')+[NAME]
FROM

SYSCOLUMNS
WHERE ID=OBJECT_ID('TB') AND NAME NOT IN(列名)

EXEC( 'SELECT '+@SQL_COLUMNS+' FROM TB')


加个定界就行了
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
我在sql server里运行不通过 显示格式无法强转 因为我的列有float nchar int 该怎么修改能运行呢?
SQL77 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yan11cn 的回复:]
如果我只显示那几列的值 该怎么写呢? 求教。。。
[/Quote]
什么意思?

DECLARE @SQL_COLUMNS NAVRCHAR(4000)
SELECT
@SQL_COLUMNS=ISNULL( @SQL_COLUMNS+',','')+NAME
FROM

SYSCOLUMNS
WHERE ID=OBJECT_ID('TB') AND NAME NOT IN(列名)

EXEC( 'SELECT '+@SQL_COLUMNS+' FROM TB')


这不是你要的么?
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
如果我只显示那几列的值 该怎么写呢? 求教。。。
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sql77 的回复:]
SQL codeDECLARE@SQL_COLUMNS NAVRCHAR(4000)SELECT@SQL_COLUMNS=ISNULL(@SQL_COLUMNS+',','')+NAMEFROM

SYSCOLUMNSWHERE ID=OBJECT_ID('TB')AND NAMENOTIN(列名)
[/Quote]

这个好像有点局限性 我用了之后 因为列多 类型也不一样 无法强转。。。
yan11cn 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fredrickhu 的回复:]
SQL codeselect*from
syscolumnswhere
name!= N'姓名'and ID=object_id('tb')-----表名tb,不包含列名为姓名的其它列
[/Quote]

为什么显示出来很多属性的栏呢??但是没有我要显示的数值
SQL77 2009-11-10
  • 打赏
  • 举报
回复
EXEC( 'SELECT '+@SQL_COLUMNS+' FROM TB')
SQL77 2009-11-10
  • 打赏
  • 举报
回复
DECLARE @SQL_COLUMNS NAVRCHAR(4000)
SELECT
@SQL_COLUMNS=ISNULL( @SQL_COLUMNS+',','')+NAME
FROM

SYSCOLUMNS
WHERE ID=OBJECT_ID('TB') AND NAME NOT IN(列名)
--小F-- 2009-11-10
  • 打赏
  • 举报
回复
select
*
from
syscolumns
where
name! = N'姓名' and ID = object_id('tb')-----表名tb,不包含列名为姓名的其它列
haitao 2009-11-10
  • 打赏
  • 举报
回复
如果sql语法支持:
select * -(f1,f3) from ... --f1,f3字段之外的所有字段
就好了
jwdream2008 2009-11-10
  • 打赏
  • 举报
回复
Up!
sgtzzc 2009-11-10
  • 打赏
  • 举报
回复
用动态SQL,从syscolumns表里查

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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