继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

SQL 2005中的XXproperty()函数总结

慕勒3428872
关注TA
已关注
手记 72
粉丝 13
获赞 51

在使用SQL2005的时候经常会碰到XXproperty()的函数,现在归纳一下,有些函数比较重要。

1、serverproperty
作用:返回有关服务器实例的属性信息。

实例:

SELECT CONVERT(char(20), SERVERPROPERTY('servername')) --返回服务器的计算机名;
SELECT  SERVERPROPERTY('productversion'),SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')  --判断SQL SERVER版本

2、columnproperty
作用:返回有关列或过程参数的信息。
实例:

USE AdventureWorks;
GO
SELECT COLUMNPROPERTY( OBJECT_ID('Person.Contact'),'LastName','PRECISION')AS 'Column Length'; ----Person.Contact表里的LastName列的长度
GO

3、databaseproperty
作用:返回指定数据库和属性名的命名数据库属性值。
实例:

SELECT  DATABASEPROPERTY('数据库名', 'isfulltextenabled')  ---判断数据库是否开启了全文搜索

4、DATABASEPROPERTYEX
作用:返回指定数据库的指定数据库选项或属性的当前设置。
实例:

SELECT DATABASEPROPERTYEX('AdventureWorks', 'IsAutoShrink'); 
--判断AdventureWorks数据库是否启用了自动收缩 ,跟人感觉跟DATABASEPROPERTY()函数差不多

5、indexproperty  

作用:根据指定的表标识号、索引或统计信息名称以及属性名称,返回已命名的索引或统计信息属性值
实例:

USE AdventureWorks;
GO
SELECT
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IsClustered')AS [Is Clustered],         --IsClustered是否是聚集索引
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexDepth') AS [Index Depth],          --IndexDepth索引的深度
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexFillFactor') AS [Fill Factor];     --IndexFillFactor创建索引或最后重新生成索引时使用的填充因子值。
GO

 

6、indexkey_property
作用:返回有关索引键的信息
实例:

USE AdventureWorks;
GO
SELECT
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),   
        1,1,'ColumnId') AS [Column ID],
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),    --是否降序排列
        1,1,'IsDescending') AS [ Desc order];
GO

 

7、objectproperty
作用:返回当前数据库中架构范围内的对象的有关信息
实例:

IF EXISTS ( SELECT  * FROM    sysobjects WHERE   id = OBJECT_ID(N'[存储过程名]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )    
--是否是存储过程 (判断存储过程是否存在)
DROP PROCEDURE [存储过程名]

8、objectpropertyex
作用:返回当前数据库中架构范围内的对象的有关信息
实例:

SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks.HumanResources.vEmployee'), 'IsView'); 
--是否是视图 个人感觉跟objectproperty()函数差不多

 

9、sql_variant_property
作用:返回有关 sql_variant 值的基本数据类型和其他信息
实例:

CREATE   TABLE tableA(colA sql_variant, colB int)
INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT   SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
         SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
         SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM      tableA
WHERE      colB = 1689

 

10、fileproperty
功能:指定文件名和属性名时,返回指定的文件名属性值
实例:

USE AdventureWorks
SELECT FILEPROPERTY('AdventureWorks_Data', 'IsPrimaryFile')AS [Primary File];  
--判断AdventureWorks_Data是否是主数据文件(一定不要省略 USE AdventureWorks )

 

11、filegroupproperty
功能:提供文件组和属性名时,返回指定的文件组属性值
实例:

USE AdventureWorks
SELECT FILEGROUPPROPERTY('PRIMARY', 'IsDefault') AS 'Default Filegroup'  --判断PRIMARY是否是默认文件组

 

12、typeproperty
功能:返回有关数据类型的信息。
实例:

SELECT TYPEPROPERTY( 'tinyint', 'PRECISION') --输出数据类型tinyint的长度值

基本上就这麽多了,做一个笔记让自己以后可以记住。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP