標籤:
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 自上次啟動之後所遇到的磁碟寫入錯誤數,讀取磁碟(不是讀取快取)的次數,所執行的磁碟寫入次數。
sql server內建函數