1樓:仁山智慧水
這個每種資料庫不一樣的
db2中:select tabname from syscat.columns where tabschema='x' and colname='欄位名'
這裡,x指的是db2的模式。
mysql中:select table_name from information_schema.columns where table_schema='y' and column_name='欄位名'
這裡y指的是資料庫的名稱。
其他資料庫應該也會有個系統表存放這些資訊,表名以及這些欄位的含義都是可以見面知義的,按著這個思路相信你能找到
2樓:匿名使用者
select a.name from (select object_id(name)as id,name from sysobjects where xtype='u') as a,syscolumns where a.id=syscolumns.
id and syscolumns.name=欄位名這樣就行了~
3樓:匿名使用者
挺難的,我也沒想到怎麼做,表可以不同,但是裡面的欄位可以是相同的。
sql中如何根據欄位名查詢該欄位名存在於資料庫的哪些表中?
4樓:檀時芳夔霜
這個要結合兩個表來進行查詢一個是sysobjects一個是syscolumns。他們有個共同的欄位是id來進行聯絡。查詢的**如下:
select
*from
sysobjects
swhere
type='u'
andid
in(select
idfrom
syscolumns
swhere
s.name='待查詢欄位名')
5樓:匿名使用者
上處的欄位名是指的表中的列名 還是指的 列中某一個 值。
如果是指的列名的話,很簡單
select sysobjects.name as tablename,syscolumns.name as columnname
from syscolumns join sysobjects on sysobjects.id = syscolumns.id
where syscolumns.name like '%此處為列名%'
如果是指的一個值的話,要遍歷資料庫了。如下:
declare@str varchar(100)
set@str='張三'--要搜尋的字串
declare@s varchar(8000)
declaretb cursorlocalfor
selects='if exists(select 1 from ['+b.name+'] where convert(varchar,['+a.name+']) like ''%'+@str+'%'')
print ''select ['+a.name+'] from ['+b.name+']'''
fromsyscolumns a joinsysobjects b ona.id=b.id
whereb.xtype='u'anda.status>=0
--所查列的欄位型別
anda.xusertype in(175,239,231,167,56,60,108,106)
opentb
fetchnextfromtb into@s
while @@fetch_status=0
begin
exec(@s)
fetchnextfromtb into@s
endclosetb
deallocatetb
在sql資料庫中,怎麼查詢一個表中有哪些欄位
6樓:友利葉矯儀
select
name
from
sys.columns
where
object_id
=object_id('要查詢的表名');
注意,表名前後有單引號,是字串。
用sql語句查詢一個欄位值存在於哪張表,該怎麼寫sql語句?
7樓:匿名使用者
這需要用儲存過程來實現,基本方法如下,比如查詢全庫中所有欄位值為「張三」的屬於哪張表,可用如下方法:
declare @cloumns varchar(40)
declare @tablename varchar(40)
declare @str varchar(40)
declare @counts int
declare @sql nvarchar(2000)
declare mycursor cursor for
select a.name as columns, b.name as tablename from syscolumns a,sysobjects b,systypes c
where a.id = b.id
and b.type = 'u'
and a.xtype=c.xtype
and c.name like '%char%'
set @str='張三'
open mycursor
fetch next from mycursor into @cloumns,@tablename
while(@@fetch_status = 0)
begin
set @sql='select @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''
execute sp_executesql @sql,n'@tmp_counts int out',@counts out
if @counts>0
begin
print '表名為:'+@tablename+',欄位名為'+@cloumns
endfetch next from mycursor into @cloumns,@tablename
endclose mycursor
deallocate mycursor
結果如圖:
顯示的就是含有張三這個內容的表名及欄位名
8樓:匿名使用者
不知道表名的情況下,整個資料庫找某個字元資訊
請勿在 生產資料庫上使用.
9樓:匿名使用者
這個不同的資料庫是不同的
10樓:匿名使用者
樓上~~反了吧
update table set newcol = oldcol
11樓:陽光小衚衕
t newcol = oldcol
Sql查詢表中除了某個欄位以外的所有欄位的方法
select name from syscolumns where id select max id from sysobjects where xtype u and name 表名 然後去查不等於column1的值不就ok了 方法就這樣了,具體你自己寫去吧 有是有,不過要通過系統表來差,而且語句...
SQL怎樣判斷欄位中是否存在某值
莘深潮朝 使用函式 charindex,第一個引數是你要查詢的字元,第二個引數是要在哪個字元中查詢 比如 select charindex 1 123456 返回1所在的位置 mysql 的myisam儲存引擎可以支援全文檢索,通常mysql的預設儲存引擎就是myisam,你可以把要查詢的欄位建立索...
sql中查詢多個欄位時,group by 要怎麼使用
惠惠 你根據到貨地點order by排序即可,不需要group by。sql語言,是結構化查詢語言 structured query language 的簡稱。sql語言是一種資料庫查詢和程式設計語言,用於存取資料以及查詢 更新和管理關聯式資料庫系統,同時也是資料庫指令碼檔案的副檔名。sql語言是高...