原文:SQL Server系统函数:元数据函数


1、列的长度、列名


  1. --列的长度
  2. select COL_LENGTH('dbo.wct', --表名
  3. 'wcid') --列名
  4. --列名
  5. select COL_NAME(object_id('dbo.wct'), --表ID
  6. 1) --列ID

columnProperty函数返回有关列过程参数的信息:


  1. select ColumnProperty(object_id('dbo.wct'), --表ID
  2. 'wcid', --列名
  3. 'precision') --属性名

列属性:

ColumnId

AllowsNull 

Precision

Scale

IsComputed

IsSparse

IsCursorType 

IsColumnSet

IsIdentity

IsRowGuidCol

FullTextTypeColumn 

IsFulltextIndexed

IsIdNotForRepl 

IsIndexable

IsOutParam

IsXmlIndexable

IsDeterministic

IsPrecise

IsSystemVerified

SystemDataAccess 

UserDataAccess 

UsesAnsiTrim

2、数据库


  1. --DatabasePropertyEx函数返回指定数据库中指定选项的属性,要返回更多可以用sys.databases目录视图
  2. select DatabasePropertyEx('master', --数据库名
  3. 'IsAutoClose') --属性名
  4. --db_id函数返回指定数据库名称对应的id
  5. select db_id('master')
  6. --db_name函数返回指定数据库id号的数据库名称
  7. select db_name(1)

3、文件与文件组


  1. --file_id函数返回指定逻辑文件名对应的id,以后版本将删除此函数
  2. select file_id('wc_fg5_1') --文件逻辑名
  3. --建议采用此函数
  4. select FILE_IDEX('wc_fg5_1')
  5. --filegroup_id函数返回指定文件组名称对应的id
  6. select filegroup_id('wc_fg5')
  7. --filegroup_name函数返回指定文件组id对应的文件组名称
  8. select filegroup_name(6)
  9. --FilegroupProperty函数返回指定文件组中相应选项的属性,
  10. --要返回更多可以用sys.filegroups目录视图
  11. select FilegroupProperty('wc_fg5',
  12. 'IsUserDefinedFG') --是否是用户定义的文件组
  13. select FilegroupProperty('wc_fg5',
  14. 'IsDefault') --是否是默认文件组
  15. select FilegroupProperty('wc_fg5',
  16. 'IsReadOnly') --是否只读
  17. --file_name函数返回指定逻辑文件对应的逻辑文件名称
  18. select file_name(8)
  19. --FileProperty函数返回指定逻辑文件相应选项的属性
  20. select fileproperty('wc_data',
  21. 'IsPrimaryFile')
  22. select fileproperty('wc_fg5_1',
  23. 'IsReadOnly')
  24. select fileproperty('wc_fg5_1',
  25. 'SpaceUsed') --返回在文件中分配的页数
  26. select fileproperty('wc_log1',
  27. 'IsLogFile') --是否日志文件

4、对象


  1. --object_id函数返回架构范围内对象的数据库对象id
  2. select object_id('master.dbo.spt_values')
  3. select object_id('master.dbo.spt_values','U')
  4. --object_name函数返回架构范围内对象id对应的数据库对象名称
  5. select object_name(1115151018)
  6. --objectPropertyEx函数返回架构范围内对象相应选项的属性,返回更多可以用sys.objects系统目录
  7. select ObjectPropertyex(object_id('spt_values'),
  8. 'IsTable')
  9. select ObjectPropertyex(object_id('wct'),
  10. 'TableHasForeignKey')--有FOREIGN KEY约束的表
  11. select ObjectPropertyex(object_id('wct'),
  12. 'TableUpdateTriggerCount')--update触发器的个数
  13. select ObjectPropertyex(object_id('wct'),
  14. 'IsTrigger') --是否是触发器
  15. select ObjectPropertyex(object_id('wct'),
  16. 'TableHasPrimaryKey') --对象是否有主键

5、索引


  1. --索引中指定键id对应的列名
  2. select INDEX_COL('wc.dbo.wcT', --数据库.架构.表
  3. 1, --索引id
  4. 1) --索引中键的id
  5. --索引键的属性
  6. select INDEXKEY_PROPERTY(OBJECT_ID('wc.dbo.wcT'), --对象id
  7. 1, --索引id
  8. 2, --键id
  9. 'ColumnId') --对应到表中的列id
  10. select INDEXKEY_PROPERTY(OBJECT_ID('wc.dbo.wcT'), --对象id
  11. 1, --索引id
  12. 2, --键id
  13. 'IsDescending') --是否降序
  14. --索引属性
  15. select INDEXPROPERTY(object_id('wc.dbo.wcT'),
  16. 'pk_wcid_date',
  17. 'IndexID') --索引id
  18. select INDEXPROPERTY(object_id('wc.dbo.wcT'),
  19. 'pk_wcid_date',
  20. 'IsClustered') --是否聚集
  21. select INDEXPROPERTY(object_id('wc.dbo.wcT'),
  22. 'pk_wcid_date',
  23. 'IsDisabled') --是否禁用
  24. select INDEXPROPERTY(object_id('wc.dbo.wcT'),
  25. 'pk_wcid_date',
  26. 'IsRowLockDisallowed') --是否允许行级锁
  27. select INDEXPROPERTY(object_id('wc.dbo.wcT'),
  28. 'pk_wcid_date',
  29. 'IsStatistics') --是否自动创建统计信息
  30. select INDEXPROPERTY(object_id('perfetti.dbo.wcT'),
  31. 'idx_wc',
  32. 'IndexDepth') --索引深度

6、类型AllowsNull


  1. select TYPEPROPERTY('int', --类型名
  2. 'Precision') --类型属性
  3. select TYPEPROPERTY('int', --类型名
  4. 'AllowsNull') --类型属性

7、当前模块的对象ID,可以是存储过程,用户定义函数,触发器

select @@PROCID

8、扩展属性


  1. select * from ::fn_listextendedproperty(default,
  2. 'schema', --架构
  3. 'dbo', --架构名
  4. 'table', --表
  5. 'wcT', --表名
  6. default, --列
  7. default --列名
  8. )
  9. DECLARE @V SQL_VARIANT
  10. SET @V = 'ABCEFG'
  11. select SQL_VARIANT_PROPERTY(@V,
  12. 'BaseType')
  13. select SQL_VARIANT_PROPERTY(@V,
  14. 'TotalBytes')
  15. select SQL_VARIANT_PROPERTY(@V,
  16. 'MaxLength')

9、服务器属性


  1. select SERVERPROPERTY('Collation'),
  2. SERVERPROPERTY('IsClustered'),
  3. SERVERPROPERTY('IsSingleUser'),
  4. SERVERPROPERTY('MachineName'),
  5. SERVERPROPERTY('ProcessID'),
  6. SERVERPROPERTY('NumLicenses'),
  7. SERVERPROPERTY('SqlSortOrder')

10、会话属性


  1. select SESSIONPROPERTY('ANSI_NULLS'),
  2. SESSIONPROPERTY('ANSI_WARNINGS'),
  3. SESSIONPROPERTY('ANSI_PADDING'),
  4. SESSIONPROPERTY('ARITHABORT'),
  5. SESSIONPROPERTY('NUMERIC_ROUNDABORT'),
  6. SESSIONPROPERTY('CONCAT_NULL_YIELDS_NULL'),
  7. SESSIONPROPERTY('QUOTED_IDENTIFIER')
发布了416 篇原创文章 · 获赞 135 · 访问量 94万+

SQL Server系统函数:元数据函数的更多相关文章

  1. SQL Server系统函数简介[转]

    一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR ...

  2. sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数

    一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...

  3. SQL Server系统函数:系统信息函数

    原文:SQL Server系统函数:系统信息函数 1.会话id,服务器信息.用户信息 select @@SPID, --返回当前连接的会话ID:SPID @@servername, --SQL Ser ...

  4. SQL Server系统函数:字符串函数

    原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a') ...

  5. SQL Server系统函数:日期函数

    原文:SQL Server系统函数:日期函数 1.返回当前日期和时间 select GETDATE() '当前日期-精确到33毫秒' select GETUTCDATE() 'UTC日期和时间-精确到 ...

  6. SQL Server系统函数:类型转换函数

    原文:SQL Server系统函数:类型转换函数 1.基本的转化 SELECT CAST(2008 as varchar(4)) + ' year!' SELECT CONVERT(varchar(4 ...

  7. sql server 2012 自定义聚合函数(MAX_O3_8HOUR_ND) 计算最大的臭氧8小时滑动平均值

    采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; us ...

  8. ylb:SQL Server中的时间函数

    ylbtech-SQL Server:SQL Server-SQL Server中的时间函数 SQL Server中的时间函数. 1,SQL Server中的时间函数 返回顶部 1.   当前系统日期 ...

  9. SQL Server中的CLR编程——用.NET为SQL Server编写存储过程和函数

    原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之 ...

随机推荐

  1. Mysql -- The used SELECT statements have a different number of columns

    这是因为使用union的两个SQL语句产生的记录的表结构不一致. 必须是结构完全一致的记录集合才可以使用UNION. 以上就是两个表的字段不一样,导致,所以大家可以检查下. 可以 将 select * ...

  2. (四)OpenCV-Python学习—形态学处理

    通过阈值化分割可以得到二值图,但往往会出现图像中物体形态不完整,变的残缺,可以通过形态学处理,使其变得丰满,或者去除掉多余的像素.常用的形态学处理算法包括:腐蚀,膨胀,开运算,闭运算,形态学梯度,顶帽 ...

  3. 如何向Makefile传递参数?

    答: 直接在make命令的后面加上参数,如: make HOST_CFLAGS=-I. 注意事项: HOST_CFLAGS变量将会替换相应Makefile中的HOST_CFLAGS,也就是Makefi ...

  4. osg 在fbx模型中添加自定义节点

  5. 复制粘贴引发的鸠占鹊巢——IDEA复制项目导致sources root复用了另一个项目

    复制粘贴大法一向是程序猿的利器,但有时也会引发一些拎不清的麻烦关系来.比如我们现在想新建一个项目,为了快速而对原来的uis-gateway动用了复制粘贴大法,然后改改项目名就成了uis-applica ...

  6. 雨田家园 delphi 拆分字符串

    最近在使用Delphi开发一种应用系统的集成开发环境.其中需要实现一个字符串拆分功能,方法基本原型应该是:procedure SplitString(src: string ; ch: Char; v ...

  7. for miaomiao

    package com.mytest.formiaomiao; import java.util.ArrayList; import java.util.List; import java.util. ...

  8. jQuery BlockUI Plugin Demo 3(Page Blocking Examples)

    This page demonstrates several ways to block the page. Each button below activates blockUI and then ...

  9. 第十九章 动态URL权限控制——《跟我学Shiro》

    目录贴:跟我学Shiro目录贴 用过Spring Security的朋友应该比较熟悉对URL进行全局的权限控制,即访问URL时进行权限匹配:如果没有权限直接跳到相应的错误页面.Shiro也支持类似的机 ...

  10. unity, 替换shader渲染(Rendering with Replaced Shaders)【转】

    实现特效,尤其是一些后处理特效,经常需要将各物体的shader替换为另一套shader进行渲染到纹理,再后再进行合成或以某种叠加方式叠加到最后的画面上去. 再复杂一点儿的,可能不同的物体所用的替换sh ...