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是表明