SQL Server 常用內建函式

2022-01-10 09:23:49 字數 3165 閱讀 6052

本文用於收集在運維中經常使用的系統內建(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

@@spid

current_request_id()

4,在當前session中,返回上一條query影響的資料行數量

@@rowcount

rowcount_big ( )

5,當前connection中,返回已開啟,但未結束的事務數量,檢視當前事務的id,和事務的狀態(1,0,-1)

xact_state() 函式返回事務的狀態,1表示有active transaction,0表示沒有active transaction,-1表示有active transaction,但是有錯誤發生導致該事務未被提交。

@@trancount

current_transaction_id( )

xact_state()

6,檢視當前機器(host)的名字(machine name和id)

host_name () ,host_id()

compress ( expression ) 

decompress ( expression )

在插入資料時,壓縮資料,壓縮之後的資料型別是varbinary(max)

insert

into

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...