原文: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. 测试开发中Django和Flask框架

    Python测试开发中Django和Flask框架 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用.系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后 ...

  2. osg model

    osg::ref_ptr<osg::Node> MyOSGLoadEarth::CreateNode() { osg::ref_ptr<osg::Group> _root = ...

  3. 0.9.0.RELEASE版本的spring cloud alibaba nacos+feign实例

    这里的feign依然是原来的feign,只不过将注册中心由eureka换成了nacos.服务提供方参见0.9.0.RELEASE版本的spring cloud alibaba nacos实例,消费方跟 ...

  4. java获取两个日期之间的所有日期

    java获取两个日期之间的所有日期   解决方法: 1.核心方法 private List<String> getBetweenDates(String start, String end ...

  5. Qt编写自定义控件40-导航进度条

    一.前言 导航进度条控件,其实就是支付宝.京东.淘宝订单页面的进度控件,提示当前第几步,总共有几步,然后当前进度特殊颜色显示,每个进度带有时间文字等信息,本控件特意将三种样式风格都集成进去了,京东订单 ...

  6. iOS 点击空白处收回键盘的几个简单代码

    //收回键盘1 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [self.view.subviews enumer ...

  7. Kafka Connect REST Interface

    Since Kafka Connect is intended to be run as a service, it also supports a REST API for managing con ...

  8. PAT 甲级 1063 Set Similarity (25 分) (新学,set的使用,printf 输出%,要%%)

    1063 Set Similarity (25 分)   Given two sets of integers, the similarity of the sets is defined to be ...

  9. Java读取Excel文件(包括xls和xlsx)的样例程序

    样例程序如下所示,其中: parseXls()函数依赖于jxl,只能读取xls格式文件: parseExcel()函数依赖于apache poi,能够读取xls和xlsx两种格式的文件. jxl的依赖 ...

  10. ubuntu 18.04安装jdk8和eclipse

    JDK8的安装 1.安装ppa sudo add-apt-repository ppa:webupd8team/java sudo apt-get update 2.安装JDK sudo apt-ge ...