MSDN标准文档:https://msdn.microsoft.com/zh-cn/library/ff848784(v=sql.120).aspx
配置函数
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 自上次启动之后所遇到的磁盘写入错误数,读取磁盘(不是读取高速缓存)的次数,所执行的磁盘写入次数。