文章詳情頁
SQL Server系統(tǒng)函數(shù)介紹
瀏覽:82日期:2023-03-06 14:25:21
一、常用函數(shù):
- APP_NAME: 返回當(dāng)前會話的應(yīng)用程序名稱(如果應(yīng)用程序進(jìn)行了設(shè)置)。
SELECT APP_NAME()
- COALESCE: 返回其參數(shù)中第一個非空表達(dá)式
SELECT COALESCE(NULL,NULL,123,NULL)
- COL_LENGTH(table,column):返回table表中column字段的長度;
SELECT COL_LENGTH("person","gender"),COL_LENGTH("person","FirstName");
- COL_NAME(TABLE_ID,COLUMN_ID):返回指定表中指定字段的名稱;
SELECT COL_NAME(OBJECT_ID("person"),1);---返回person表中第1個字段的名稱;
- COLLATIONPROPERTY: 返回給定排序規(guī)則的屬性
- CURRENT_TIMESTAMP: 返回當(dāng)前的日期和時間。此函數(shù)等價于 GETDATE()
- CURRENT_USER: 返回當(dāng)前的用戶。
此函數(shù)等價于 USER_NAME()
SELECT CURRENT_USER
- DATALENGTH(x): 返回字段x的數(shù)據(jù)的實際長度,即字節(jié)數(shù),NULL的長度為NULL;
SELECT DATALENGTH("id"),DATALENGTH("Gender") FROM person WHERE id=2;
- @@ERROR: 返回最后執(zhí)行的 Transact-SQL 語句的錯誤代碼
- fn_helpcollations: 返回 Microsoft® SQL Server™ 2000 支持的所有排序規(guī)則的列表。
- fn_servershareddrives: 返回由群集服務(wù)器使用的共享驅(qū)動器名稱
- fn_virtualfilestats: 返回對數(shù)據(jù)庫文件(包括日志文件)的 I/O 統(tǒng)計
- FORMATMESSAGE: 從 sysmessages 現(xiàn)有的消息構(gòu)造消息。
FORMATMESSAGE 與 RAISERROR 語句的功能相似;但 RAISERROR 立即輸出消息而 FORMATMESSAGE: 返回編輯后的信息供進(jìn)一步處理
- GETANSINULL: 返回會話的數(shù)據(jù)庫的默認(rèn)為空性。
該函數(shù)對ANSI空值NULL返回1,如果沒有定義ANSI空值NULL,則返回0;
SELECT GETANSINULL("test2"),GETANSINULL("person"); ---test2是數(shù)據(jù)庫,person是數(shù)據(jù)表;
- HOST_ID: 返回工作站標(biāo)識號。
返回值類型為CHAR(10);
SELECT HOST_ID(); ? --使用該函數(shù)可以記錄那些想數(shù)據(jù)表中插入數(shù)據(jù)的計算機(jī)終端的ID;
- HOST_NAME: 返回工作站名稱。
SELECT HOST_NAME();
- IDENT_INCR: 返回增量值(返回形式為 numeric(@@MAXPRECISION,0)),該值是在帶有標(biāo)識列的表或視圖中創(chuàng)建標(biāo)識列時指定的
- IDENT_SEED: 返回種子值(返回形式為 numeric(@@MAXPRECISION,0)),該值是在帶有標(biāo)識列的表或視圖中創(chuàng)建標(biāo)識列時指定的
- IDENTITY(函數(shù)): 只用在帶有 INTO table 子句的 SELECT 語句中,以將標(biāo)識列插入到新表中。
盡管類似,但是 IDENTITY 函數(shù)不是與 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 屬性。(自動采番時可以起到作用)
- ISDATE: 確定輸入表達(dá)式是否為有效的日期
- ISNULL: 使用指定的替換值替換 NULL
SELECT AVG(ISNULL(id,0)) FROM dbo.school AS s
- ISNUMERIC: 確定表達(dá)式是否為一個有效的數(shù)字類型
PRINT ISNUMERIC("1223A")
- NEWID: 創(chuàng)建 uniqueidentifier 類型的唯一值
- NULLIF: 如果兩個指定的表達(dá)式相等,則返回空值。
SELECT NULLIF("AA","AA")
- PARSENAME: 返回對象名的指定部分。可以檢索的對象部分有對象名、所有者名稱、數(shù)據(jù)庫名稱和服務(wù)器名稱
- PERMISSIONS: 返回一個包含位圖的值,表明當(dāng)前用戶的語句、對象或列權(quán)限。
- @@ROWCOUNT: 返回受上一語句影響的行數(shù)
- ROWCOUNT_BIG: 返回受執(zhí)行的最后一個語句影響的行數(shù)。該函數(shù)的功能與 @@ROWCOUNT 一樣,除非 ROWCOUNT_BIG 的返回類型是 bigint。
- SERVERPROPERTY: 返回有關(guān)服務(wù)器實例的屬性信息
- SESSIONPROPERTY: 返回會話的 SET 選項設(shè)置
- SESSION_USER: 是一個 niladic 函數(shù),允許在未指定默認(rèn)值時將系統(tǒng)為當(dāng)前會話的用戶名提供的值插入到表中。還允許在查詢、錯誤信息等中使用用戶名
- SCHEMA_NAME: 查看Schema的ID和Name
- STATS_DATE: 返回最后一次更新指定索引統(tǒng)計的日期
SELECT STATS_DATE(OBJECT_ID("school"),1)
- SYSTEM_USER: 返回當(dāng)前系統(tǒng)用戶名
- SUSER_ID():根據(jù)登錄名返回用戶的SID(安全標(biāo)識號)
SELECT SUSER_SID(),SUSER_SID("COMPU\Administrator"); --不帶參數(shù)時返回當(dāng)前用戶的ID,也可以帶參數(shù)指定用戶;
- SUSER_SNAME():返回與安全標(biāo)識符關(guān)聯(lián)的登錄名
返回值類型為NVARCHAR(128);
SELECT SUSER_SNAME(),SUSER_SNAME(0x010500000000000515000000C1289E4023B53F66B8323512E9030000);
- @@TRANCOUNT: 返回當(dāng)前連接的活動事務(wù)數(shù)
- USER_ID():根據(jù)指定用戶名返回數(shù)據(jù)庫用戶的ID,
如果沒有指定用戶名,則返回當(dāng)前用戶的數(shù)據(jù)庫ID;
SELECT USER_ID();
- USER_NAME():根據(jù)與數(shù)據(jù)庫用戶關(guān)聯(lián)的ID返回數(shù)據(jù)庫用戶名,
返回值類型為nvarchar(256);
SELECT USER_NAME(),USER_NAME(USER_ID());
二、插入后返回值的方法:
- SCOPE_IDENTITY: 返回為當(dāng)前會話和當(dāng)前作用域中的任何表最后生成的標(biāo)識值。 SELECT SCOPE_IDENTITY();(推薦)
- @@IDENTITY: 返回為當(dāng)前會話的所有作用域中的任何表最后生成的標(biāo)識值。 SELECT @@Identity;
- IDENT_CURRENT: 返回為任何會話和任何作用域中的特定表最后生成的標(biāo)識值。SELECT IDENT_CURRENT('table_name');
到此這篇關(guān)于SQL Server系統(tǒng)函數(shù)的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
標(biāo)簽:
MsSQL
相關(guān)文章:
1. SQL Server中的邏輯函數(shù)介紹2. SQL Server解析/操作Json格式字段數(shù)據(jù)的方法實例3. idea連接SQL Server數(shù)據(jù)庫的詳細(xì)圖文教程4. SQL Server全文檢索簡介5. SQL Server中單引號的兩種處理技巧6. SQL Server主鍵與外鍵設(shè)置以及相關(guān)理解7. SQL Server如何建表的詳細(xì)圖文教程8. VS連接SQL server數(shù)據(jù)庫及實現(xiàn)基本CRUD操作9. SQL Server使用CROSS APPLY與OUTER APPLY實現(xiàn)連接查詢10. SQL Server數(shù)據(jù)庫連接查詢和子查詢實戰(zhàn)案例
排行榜
