SQL2005中的XXproperty() 函数归纳
在使用SQL2005的时候经常会碰到XXproperty()的函数,现在归纳一下,有些函数比较重要
1、serverproperty
作用:返回有关服务器实例的属性信息。
实例:
1 2 3 | SELECT CONVERT ( char (20), SERVERPROPERTY( 'servername' )) --返回服务器的计算机名; SELECT SERVERPROPERTY( 'productversion' ),SERVERPROPERTY ( 'productlevel' ), SERVERPROPERTY ( 'edition' ) --判断SQL SERVER版本 |
2、columnproperty
作用:返回有关列或过程参数的信息。
实例:
1 2 3 4 | USE AdventureWorks; GO SELECT COLUMNPROPERTY( OBJECT_ID( 'Person.Contact' ), 'LastName' , 'PRECISION' ) AS 'Column Length' ; ----Person.Contact表里的LastName列的长度 GO |
3、databaseproperty
作用:返回指定数据库和属性名的命名数据库属性值。
实例:
1 | SELECT DATABASEPROPERTY( '数据库名' , 'isfulltextenabled' ) ---判断数据库是否开启了全文搜索 |
4、DATABASEPROPERTYEX
作用:返回指定数据库的指定数据库选项或属性的当前设置。
实例:
SELECT DATABASEPROPERTYEX( 'AdventureWorks' , 'IsAutoShrink' ); --判断AdventureWorks数据库是否启用了自动收缩 ,跟人感觉跟DATABASEPROPERTY()函数差不多 |
5、indexproperty
作用:根据指定的表标识号、索引或统计信息名称以及属性名称,返回已命名的索引或统计信息属性值
实例:
1 2 3 4 5 6 7 8 9 10 | 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
作用:返回有关索引键的信息
实例:
1 2 3 4 5 6 7 8 | 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
作用:返回当前数据库中架构范围内的对象的有关信息
实例:
1 2 3 | IF EXISTS ( SELECT * FROM sysobjects WHERE id = OBJECT_ID(N '[存储过程名]' ) AND OBJECTPROPERTY(id, N 'IsProcedure' ) = 1 ) --是否是存储过程 (判断存储过程是否存在) DROP PROCEDURE [存储过程名] |
8、objectpropertyex
作用:返回当前数据库中架构范围内的对象的有关信息
实例:
1 | SELECT OBJECTPROPERTYEX(OBJECT_ID(N 'AdventureWorks.HumanResources.vEmployee' ), 'IsView' ); --是否是视图 个人感觉跟objectproperty()函数差不多 |
9、sql_variant_property
作用:返回有关 sql_variant 值的基本数据类型和其他信息
实例:
1 2 3 4 5 6 7 | 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
功能:指定文件名和属性名时,返回指定的文件名属性值
实例:
1 2 | USE AdventureWorks SELECT FILEPROPERTY( 'AdventureWorks_Data' , 'IsPrimaryFile' ) AS [ Primary File]; --判断AdventureWorks_Data是否是主数据文件(一定不要省略 USE AdventureWorks ) |
11、filegroupproperty
功能:提供文件组和属性名时,返回指定的文件组属性值
实例:
1 2 | USE AdventureWorks SELECT FILEGROUPPROPERTY( 'PRIMARY' , 'IsDefault' ) AS 'Default Filegroup' --判断PRIMARY是否是默认文件组 |
12、typeproperty
功能:返回有关数据类型的信息。
实例:
1 | SELECT TYPEPROPERTY( 'tinyint' , 'PRECISION' ) --输出数据类型tinyint的长度值 |
基本上就这麽多了,做一个笔记让自己以后可以记住
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)