本文用於收集在運維中經常使用的系統內建(built-in)函式,持續整理中
1,檢視資料庫的id和name
db_id(『db name』),db_name('db id')
2,檢視物件的id和name,物件的schema,物件的定義
object_id ( 'schema_name . object_name
','object_type')
object_name ( object_id
[, database_id ])
object_schema_name (
object_id
[, database_id ])
object_definition (
object_id )
3,檢視schema的id和name,通過物件id獲取物件的架構名(schema)
schema_name ( [schema_id
])
schema_id (
[schema_name ])
object_schema_name (
object_id
[, database_id
] )
4,檢視column的name
col_name(table_id,column_id)
1,sql server的name,servicename和版本
@@servername,@@servicename,@@version
檢視伺服器名字,也可以使用函式 serverproperty('servername'),有時 serverproperty('servername') 和 @@servername 返回的值不同,這可能是修改伺服器的名稱導致,使用如下指令碼修復,並重啟service,檢查伺服器的名稱:
--將兩者協調一致,再重啟 sql server 服務
if serverproperty('
servername
')<>
@@servername
begin
declare
@server
sysname
set@server
=@@servername
exec sys.sp_dropserver @server
=@server
set@server
=cast(serverproperty('
servername
') as
sysname)
exec sys.sp_addserver @server
=@server ,@local='
local
'end
usemaster
goselect name ,@@servername,serverproperty('
servername')
from
sys.servers
where server_id=0--
local server id = 0
go
2,返回當前module的id,module包括:sp,udf,trigger
@@procid--獲取當前module name
declare
@objectname
sysname;
select
@objectname
=object_name(@@procid)
3,返回當前session的id,當前的requestid
@@spidcurrent_request_id()
4,在當前session中,返回上一條query影響的資料行數量
@@rowcountrowcount_big ( )
5,當前connection中,返回已開啟,但未結束的事務數量,檢視當前事務的id,和事務的狀態(1,0,-1)
xact_state() 函式返回事務的狀態,1表示有active transaction,0表示沒有active transaction,-1表示有active transaction,但是有錯誤發生導致該事務未被提交。
@@trancountcurrent_transaction_id( )
xact_state()
6,檢視當前機器(host)的名字(machine name和id)
host_name () ,host_id()
compress ( expression )decompress ( expression )
在插入資料時,壓縮資料,壓縮之後的資料型別是varbinary(max)
insertinto
player (name, surname, info )
values (n'
ovidiu
', n'
cracium
', compress(n
''));
在查詢資料時,解壓縮資料,將資料從varbinary(max)強轉為原始型別
select_id, name, surname, datemodified,
cast(decompress(info) as
nvarchar(max)) as
info
from player;
metadata functions (transact-sql)
configuration functions (transact-sql)
system functions (transact-sql)
SQLServer常用內建函式解析
sqlserver是我們在軟體開發中經常使用到的資料庫,對sqlserver的 操作有又掌握多少呢?對於我們從底層做起的程式設計師來說,對sqlserver的增 刪 查 改肯定是沒有問題的 我想問大家一下,你知道多少個 sqlserver的內建函式呢?這些內建函式可以實現什麼功能呢?那怕你不是dba...
SQL Server的內建函式
字元函式 1,返回字元表示式中最左側字元的ascii 值 select ascii a a 97,a 65 2,將整數ascii 轉換為字元 select char 97 97 a,65 a 3,返回具有給定的整數 的unicode字元 select nchar 65 a 4,返回表達第乙個字元的u...
常用內建函式
print bytes 你好 encoding utf 8 print bytes 你好 encoding utf 8 decode 解碼 print bytes 你好 encoding gbk 輸出 b xe4 xbd xa0 xe5 xa5 xbd 你好b xc4 xe3 xba xc3 pri...