加载中…
个人资料
SQLServerGuru
SQLServerGuru
  • 博客等级:
  • 博客积分:0
  • 博客访问:22,710
  • 关注人气:17
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

SQL Server 内置函数

(2011-04-14 21:38:10)
标签:

sql

server

内置函数

it

分类: T-SQL编程

内置函数

 

 

SQL Server 内置函数的类别

 

函数列别

说明

聚合函数

执行的操作是将多个值合并为一个值。例如 COUNTSUMMIN MAX

配置函数

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

加密函数

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

游标函数

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

日期和时间函数

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

数学函数

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

元数据函数

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

排名函数

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

行集函数

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

安全函数

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

字符串函数

可更改 charvarcharncharnvarcharbinary varbinary 的值。

系统函数

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

系统统计函数

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

文本和图像函数

可更改 text image 的值。

 

配置函数

 

select @@servername

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

 

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

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)

    返回13之间的随机整数值。

 

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 自上次启动之后所遇到的磁盘写入错误数,读取磁盘(不是读取高速缓存)的次数,所执行的磁盘写入次数。

 

 

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有