zoukankan      html  css  js  c++  java
  • SQL2005中的XXproperty() 函数归纳

    在使用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 
    

    索引的各属性值请参看MSDN:http://msdn.microsoft.com/zh-cn/library/ms187729.aspx

    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的长度值
    

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

  • 相关阅读:
    通过 AWS CLI 操作 AWS S3
    AWS S3文件存储服务器搭建(新)
    Vertx 接入MongoDB (九)
    Vertx 接入Redis (八)
    Vertx Mysql数据库优化 (七)
    Vertx 接入Mysql数据库 (六)
    Vertx 实现webapi实战项目(五)
    Vertx 实现webapi实战项目(四)
    Vertx 实现webapi实战项目(三)
    正则表达式:元字符(基本可用来匹配的字符)
  • 原文地址:https://www.cnblogs.com/lyhabc/p/2513766.html
Copyright © 2011-2022 走看看