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)