當前位置:首頁 » 編程語言 » sql查找列名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql查找列名

發布時間: 2022-04-27 00:19:06

sql如何在一個資料庫中查詢已知列名的所在表

OBJECT_ID : 返回資料庫對象標識號
例如:
use master
Select Object_Id(N'pubs..authors') //查看pubs資料庫里的authors表的object_id對象標識號。

OBJECTPROPERTY : 返回當前資料庫中對象的有關信息
語法 : OBJECTPROPERTY ( id , property )

例如:
OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1

select * from dbo.sysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1
OBJECT_ID:返回資料庫對象標識號。N是顯式的將非unicode字元轉成unicode字元,它來自 SQL-92 標准中的 National(Unicode)數據類型,用於擴展和標准化,在這里可以不用,寫作object_id(PerPersonData)。

OBJECTPROPERTY:返回當前資料庫中對象的有關信息。1表「真」。同樣可以寫成OBJECTPROPERTY(id, sUserTable) = 1。

整條語句的意思是判斷資料庫里有沒有存在PerPersonData這樣一張表。

整條語句可以簡寫成:
if exists (select * from sysobjects where objectproperty(object_id('PerPersonData'),'istable') = 1)

判斷myTalbe對象是否是一個表。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myTable') and ObjectProperty(id, N'IsUserTable') = 1)

判斷myProc對象是否是一個存儲過程。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myProc') and ObjectProperty(id, N'IsProcere') = 1)

判斷myFun對象是否是一個自定義、標量值函數。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsScalarFunction') = 1)

判斷myFun對象是否是一個表值函數。
If exists (select * from dbo.sysObjects
where id = Object_Id(N'myFun') and ObjectProperty(id, N'IsTableFunction') = 1)

其他更多ObjectProperty屬性的 property 值參考
http://technet.microsoft.com/zh-cn/library/ms176105.aspx

⑵ sql 查詢 一個表中某幾列數據

sql查詢一個表中某幾列數據語法:

1、SELECT 列名稱1、列名稱2.....列名稱n FROM 表名稱 WHERE 列 運算符 值;

2、SELECT * from 表名稱 where 列 運算符 值(列 運算符 值,這個可以是多個,中間用and隔開)。

解析:使用sql查詢時,作為查詢的篩選限制條件,只需要對有限制要求的欄位使用where進行限制即可,無需對非限制要求的欄位進行特別限制。

所以你的語句可以修改為"select * from test1 where id=『2』;"就可以了。其中,你原語句中的name=全部和age=全部,屬於多餘的,如果不對name和age欄位做任何限制的話,sql本身就是會查詢全部name和age,而無需你另外加設條件。

再比如你這樣寫:「select * from test1;」在不加任何where條件的情況下,這個sql查詢本身就是查詢全部數據。而當加入id='2'之後,就限制了只能返回id值是2的某一條或者多條數據。

通過幾個例子來加深一下對上表各查詢條件使用的理解:

1、查詢計算機科學系全體學生的名單;

SELECT Sname FROM StudentWHERE Sdept='CS';

2、查詢所有年齡在20歲以下的學生姓名及其年齡;

SELECT Sname,Sage FROM StudentWHERE Sage<20;

3、查詢考試成績不合格的學生的學號;

SELECT DISTINCT Sno FROM SCWHERE Grade<60;

4、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;

SELECT Sname,Sdept,Sage FROM Student WHERE Sage BETWEEN 20 AND 23;

5、查詢年齡在20~23歲之間的學生的姓名、系別和年齡;

SELECT Sname,Sdept,Sage FROM StudentWHERE Sage NOT BETWEEN 20 AND 23;

6、查詢計算機科學系(CS)、數學系(MA)和信息系(IS)學生的姓名、系別和年齡。

SELECT Sname,Ssex FROM Student WHERE Sdept IN('CS','MA','IS')。

⑶ sql語句怎麼查詢指定表的列名

查詢dba_tab_columns
如:
select
column_name
from
dba_tab_columns
where
owner=upper('xxx')
and
table_name=upper('yyy')
;
如果表名的區分大小寫的話,注意表名用雙引號,如:
select
column_name
from
dba_tab_columns
where
owner=upper('xxx')
and
table_name="mytable"
;
親測無誤。

⑷ SQL 如何根據指定值獲取列名

insert into 表(T1)
select
case when 欄位1 = 1 then '欄位1,' else '' end +
case when 欄位2 = 1 then '欄位2,' else '' end +
case when 欄位3 = 1 then '欄位3,' else '' end +
...
case when 欄位20 = 1 then '欄位20,' else '' end
as T1
from 表

⑸ SQL 查詢列名

很難,一個sql完成不了,給你一個思路吧,
從系統表中根據數據表明讀取列名,然後循環根據列名匹配內容值
這樣很麻煩

⑹ SQL資料庫,如何查詢資料庫內含有某一列(某欄位,如name)的所有表

SQL資料庫,查詢包含列(欄位,如名稱)的資料庫中的所有表的步驟如下:需要准備的材料是:計算機,sql finder。

1,首先,打開sql查詢器並連接到相應的數據連接,例如測試庫。

⑺ 如何搜索SQL中的列名數據

朋友你好:
編個id,行號
select *
from (表名.nlndex)
where 表名.id=191318

用update

⑻ 如何用sql語句查詢emp表的列名

select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c
where t.table_name='EMP'

⑼ sql查找包含某些字元的列

1、首先創建模擬數據源表。

⑽ mysql 如何用sql語句查詢表的所有列名

select COLUMN_NAME from information_schema.columns where table_name='b'
select count(*) from information_schema.COLUMNS WHERE TABLE_SCHEMA='a' and table_name=『b』
a是庫名,b是表明