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