查詢表部分列

2022-02-18 20:18:51 字數 1343 閱讀 1713

如果乙個表列數不固定,要求:除了第2列的其餘列都查詢出來,這種情況就要用到系統自帶的一些表,來幫助我們:

sysobjects——系統物件表,儲存當前資料庫的物件,如試圖,表,儲存過程,函式等等...

重要字段:

name(物件名);

xtype(物件型別,試圖--v;使用者表--u,儲存過程--p);

id(物件id);

select * from sysobjects

結果如下:

syscolumns——資料庫字段表,儲存表,試圖,儲存過程的引數;表,試圖的每列在表中佔一行,儲存過程每個引數在表中佔一行.

重要字段:

name(列名或者儲存過程引數的名稱);

id(所屬物件的id);

colorder(列號,1,2,3...);

select * from syscolumns

結果如下:

現在根據sysobjects和syscolumns聯合查詢獲取使用者表weibo所有列資訊

select a.name 物件名,a.xtype 物件型別,a.id 物件id,b.name 列名,b.id 所屬物件的id,b.colorder 列號

from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and a.name='weibo'

查詢結果:

可以根據列號<>2,組合查詢字串達到我們想要的結果,最終的sql指令碼:

declare @list varchar(1000),@sql nvarchar(1000)

set @list=''

select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id  and a.xtype='u' and a.name='weibo' and (b.colorder<>2)

set @sql='select '+right(@list,len(@list)-1)+' from weibo'

exec (@sql)

關於鎖表查詢的部分SQL

查詢表空間名稱和大小 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total ...

ORACLE關於鎖表查詢的部分SQL

查詢表空間名稱和大小 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total ...

ORACLE關於鎖表查詢的部分SQL

查詢表空間名稱和大小 select upper f.tablespace name 表空間名 d.tot grootte mb 表空間大小 m d.tot grootte mb f.total bytes 已使用空間 m to char round d.tot grootte mb f.total ...