Transact-SQL系統函數

  • 2020 年 2 月 18 日
  • 筆記

正文共:2136 字 5 圖 預計閱讀時間:6 分鐘

本文目錄:

  • 1.1 系統函數
  • 1.2 安全函數
  • 1.3 元數據函數

1.1 系統函數

 1-- 返回工作站標識號,是連接到 SQL Server的客戶端電腦上的應用程式的進程 ID (PID)   2SELECT HOST_ID();   3-- 返回工作站名   4SELECT HOST_NAME();   5-- 創建 uniqueidentifier 類型的唯一值   6SELECT NEWID();   7-- 確定表達式是否為有效的數值類型;ISNUMERIC ( expression )   8SELECT distinct   9    ISNUMERIC(sid),ISNUMERIC(ssex)  10from Student  11-- 使用指定的替換值替換 NULL。  12-- ISNULL ( check_expression , replacement_value )

system_function

1.1.1 CAST 和 CONVERT

CAST 和 CONVERT函數是將一種數據類型的表達式轉換為另一種數據類型的表達式。

1-- CAST()語法:  2CAST ( expression AS data_type [ ( length ) ] )  3-- CONVERT()語法:  4CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
  • expression 任何有效的表達式。
  • data_type 目標數據類型。這包括 xml、bigint 和 sql_variant。不能使用別名數據類型。
  • length 指定目標數據類型長度的可選整數。默認值為 30。
  • style 指定 CONVERT 函數如何轉換 expression 的整數表達式。如果樣式為 NULL,則返回 NULL。該範圍是由 data_type 確定的。有關詳細資訊,請參閱「備註」部分。

1.2 安全函數

對管理安全性有用的函數

 1-- 當前用戶的名稱, 兩者等價   2SELECT CURRENT_USER;   3SELECT USER_NAME();   4-- 資料庫指定用戶的標識號, 用戶名預設則表示當前用戶   5SELECT USER_ID ( [ 'user' ] );   6SELECT USER_ID();   7-- 資料庫指定標識號的用戶名   8SELECT USER_NAME([ id ] );   9SELECT USER_NAME();  10-- 當前資料庫中當前上下文的用戶名  11SELECT SESSION_USER;  12-- 用戶的登錄標識號 SUSER_ID ( [ 'login' ] ) login為登錄名  13SELECT SUSER_ID('sa');  14SELECT SUSER_ID(USER_NAME());  15-- 根據用戶登錄標識號返回用戶的登錄標識名SUSER_NAME ( [ server_user_id ] )  16SELECT SUSER_NAME(1);  17-- 指定登錄名的安全標識號 (SID)  18SELECT SUSER_SID('sa');  19-- 與安全標識號 (SID) 關聯的登錄名  20SELECT SUSER_SNAME(0x01);

security_functions

1-- 判斷當前賬戶是否可以訪問指定的資料庫  2SELECT HAS_DBACCESS ('database_name');  3-- 判斷當前用戶是否為指定Microsoft Windows組或SQL Server資料庫角色的成員  4SELECT IS_MEMBER ( { 'group' | 'role' } )

1.3 元數據函數

返回有關資料庫和資料庫對象的資訊

 1-- 與架構 ID 關聯的架構名稱 SCHEMA_NAME ([ schema_id ])   2SELECT SCHEMA_NAME();   3-- 與架構名稱關聯的架構ID SCHEMA_ID ([ schema_name ])   4SELECT SCHEMA_ID();   5-- 資料庫標識 (ID)號, DB_ID ( [ 'database_name' ] )   6SELECT DB_ID();   7-- 資料庫名稱 DB_NAME ( [ database_id ] )   8SELECT DB_NAME();   9-- 指定表中指定列的定義長度(以位元組為單位)  10COL_LENGTH ( 'table' , 'column' ) 

meta_functions

本文項目地址:

https://github.com/firewang/sql50

(喜歡的話,Star一下)

閱讀原文,或者訪問該鏈接可以在線觀看

https://sql50.readthedocs.io/zh_CN/latest/

參考網址:

  • https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175995(v=sql.105)