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