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

原文: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万+

他的留言板
关注

原文地址:https://www.cnblogs.com/lonelyxmas/p/12019896.html

时间: 2024-08-04 00:20:09

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

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

原文:SQL Server系统函数:系统信息函数 1.会话id,服务器信息.用户信息 select @@SPID, --返回当前连接的会话ID:SPID @@servername, --SQL Server实例名称 @@sevicename, --SQL Server版本信息 APP_NAME(), --客户端连接的应用程序名称 HOST_ID(), --客户端连接的进程ID:936 HOST_NAME(), --客户端连接的主机名称:PC0627JVC system_user, --登录名:P

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

原文:SQL Server系统函数:字符串函数 1.字符转化为ASCII,把ASCII转化为字符,注意返回的值是十进制数 select ASCII('A'),ASCII('B'),ASCII('a'),ASCII('b'),ASCII('?') select CHAR(65),CHAR(66),CHAR(97),CHAR(98),CHAR(63) 2.unicode字符转化为整数,把整数转化为unicode字符 select UNICODE('A'),UNICODE('B'),UNICODE('

SQL Server系统函数:日期函数

原文:SQL Server系统函数:日期函数 1.返回当前日期和时间 select GETDATE() '当前日期-精确到33毫秒' select GETUTCDATE() 'UTC日期和时间-精确到33毫秒' select SYSDATETIME() '当前日期和时间-精确到100纳秒(高精度)' select SYSUTCDATETIME() 'UTC-精确到100纳秒(高精度)' select SYSDATETIMEOFFSET()'当前日期与UTC之间的差值(时分)' 2.转换偏移,从一

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

原文:SQL Server系统函数:类型转换函数 1.基本的转化 SELECT CAST(2008 as varchar(4)) + ' year!' SELECT CONVERT(varchar(4),2008) + ' year!' 2. 把日期转化为文本 SELECT CONVERT(VARCHAR(30),GETDATE(),120) --年-月-日 时:分:秒(24h) SELECT CONVERT(VARCHAR(10),GETDATE(),120) --年-月-日 时:分:秒(24

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

采用c#开发dll,并添加到sql server 中. 具体代码,可以用visual studio的向导生成模板. using System; using System.Collections; using System.Data; using Microsoft.SqlServer.Server; using System.Data.SqlTypes; using System.IO; using System.Text; [Serializable] [Microsoft.SqlServer

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

原文:SQL Server中的CLR编程--用.NET为SQL Server编写存储过程和函数 很早就知道可以用.NET为SQL Server2005及以上版本编写存储过程.触发器和存储过程的,不过之前开发的系统要么因为历史原因用的是SQL2000要么根本用不着在SQL Server中启用CLR,所以一直没有尝试.最近因为项目的原因,在这方面做了一个调研,现在在这里分享一下心得. 首先要说明的是要在SQL Server中启用CLR必须是在SQL Server2005及以上版本,其次在默认情况下是

SQL Server ->> FIRST_VALUE和LAST_VALUE函数

两个都是SQL SERVER 2012引入的函数.用于返回在以分组和排序后取得最后一行的某个字段的值.很简单两个函数.ORDER BY字句是必须的,PARITION BY则是可选. 似乎没什么好说的.结果在测试LAST_VALUE函数的时候有个问题. 下面是测试脚本 ;with t as (SELECT TOP 100 ROW_NUMBER() OVER(ORDER BY column_id) as num FROM sys.columns) select num, num/10 as grp_

SQL Server 验证身份证合法性函数(使用VBScript.RegExp)

原文:SQL Server 验证身份证合法性函数(使用VBScript.RegExp) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wzy0623/article/details/53895680 -- 建立正则表达式测试函数 CREATE FUNCTION dbo.RegExpTest ( @source VARCHAR(5000), --需要匹配的源字符串 @regexp VARCHAR(1000), --正则表达式 @ignorecas

sql server系统存储过程大全

关键词:sql server系统存储过程,mssql系统存储过程 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全配置 xp_logininfo --*返回有关Windows 认证登录的信息. xp_msver --*返回有关Microsoft SQL Server 的版本信息 xp_enumgroups