sql server内置函数

SQL Server 内置函数的类别

 

函数列别

说明

聚合函数

执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN 和MAX。

配置函数

是一种标量函数,可返回有关配置设置的信息。

加密函数

支持加密、解密、数字签名和数字签名验证。

游标函数

返回有关游标状态的信息。

日期和时间函数

可以更改日期和时间的值。

数学函数

执行三角、几何和其他数字运算。

元数据函数

返回数据库和数据库对象的属性信息。

排名函数

是一种非确定性函数,可以返回分区中每一行的排名值。

行集函数

返回可在 Transact-SQL 语句中表引用所在位置使用的行集。

安全函数

返回有关用户和角色的信息。

字符串函数

可更改 char、varchar、nchar、nvarchar、binary 和 varbinary 的值。

系统函数

对系统级的各种选项和对象进行操作或报告。

系统统计函数

返回有关 SQL Server 性能的信息。

文本和图像函数

可更改 text 和 image 的值。

 

配置函数

 

select @@servername

返回运行SQL Server的本地服务器的名称。本地服务器名更改后,@@servername无法报告此更改,除非使用sp_addserver或sp_dropserver进行更改。

 

推荐使用系统函数serverproperty的servername属性来自动报告此更改。

select serverproperty('servername')

 

日期和时间函数

 

select getdate()

以 datetime 值的 SQL Server 2005 标准内部格式返回当前系统日期和时间。

 

    select datepart(dy,getdate())

返回表示指定日期的指定日期部分的整数。

 

    select dateadd(hh,1,getdate())

返回给指定日期加上一个时间间隔后的新 datetime 值。

 

    select datediff(d,' 2008-07-01','2008-07-14')

返回跨两个指定日期的日期边界数和时间边界数。

 

    select getdate()

select convert(varchar,getdate(),101)

select convert(varchar,getdate(),111)

    将日期数据转换为特定日期格式的字符数据。

 

数学函数

 

select ceiling(12.34),ceiling(-12.34)

返回大于或等于指定数值表达式的最小整数。

 

select rand()

返回从 0 到 1 之间的随机 float 值。

 

    select convert(int,rand()*3+1)

    返回1到3之间的随机整数值。

 

select round(748.53,0),round(748.53,1)

select round(748.53,-2),round(748.53,-1)

返回一个数值表达式,舍入到指定的长度或精度。

 

元数据函数

 

select object_id('master.sys.databases')

返回架构范围内对象的数据库对象标识号。

 

select object_name(id) from master.sys.sysobjects where id=-213

返回架构范围内对象的数据库对象名称。

 

    select object_definition(object_id('master.sys.sp_who2'))

返回指定对象的定义的 Transact-SQL 源文本。

 

安全函数

 

select is_member('dbo')

select is_srvrolemember('sysadmin')

指示当前用户是否为指定 Microsoft Windows 组或 SQL Server 数据库角色的成员。

指示 SQL Server 2005 登录名是否为指定固定服务器角色的成员。

 

    select has_perms_by_name(null,null,'view server state')

我具有服务器级 VIEW SERVER STATE 权限吗?

 

select has_perms_by_name('Tom','login','impersonate')

我可以IMPERSONATE 服务器主体Tom 吗?

如果可以,则能够使用execute as切换至Tom 的上下文;

    exec as user='Tom'

    使用revert切换回原先的上下文。

    revert

 

select has_perms_by_name('master.sys.databases','object','select')

    我对master.sys.databases 有select 权限吗?

 

字符串函数

 

select char(65),char(97)

将 int ASCII 代码转换为字符。

制表符 char(9)

换行符 char(10)

回车符 char(13)

 

select charindex('abc','abcdefgabc',5)

返回字符串中指定表达式的开始位置。

 

    select len('abc   ')

返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格。

 

    select replicate('xy',10)

以指定的次数重复字符表达式。

 

select datalength(rtrim('abc   '))

截断所有尾随空格后返回一个字符串。

其中datalength()返回用于表示任何表达式的字节数。

 

select substring('abcdeft',3,2)

返回字符表达式、二进制表达式、文本表达式或图像表达式的一部分。

 

系统函数

 

select SpecialOfferID,MinQty,MaxQty,isnull(MaxQty,9999) as MaxQty2

            from AdventureWorks.Sales.SpecialOffer

使用指定的替换值替换 NULL。

 

select @@rowcount,rowcount_big()

返回受上一语句影响的行数,ROWCOUNT_BIG 的返回类型为 bigint。

 

 

select * from sys.dm_db_index_physical_stats(null,null,null,null,null)

返回指定表或视图的数据和索引的大小和碎片信息。

 

系统统计函数

 

select @@total_errors,@@total_read,@@total_write

返回 SQL Server 自上次启动之后所遇到的磁盘写入错误数,读取磁盘(不是读取高速缓存)的次数,所执行的磁盘写入次数。

posted on 2015-10-15 14:20  王.小辉  阅读(2152)  评论(0编辑  收藏  举报

导航