欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
T-SQL 實(shí)用函數總結 [轉]

T-SQL是微軟在關(guān)系型數據庫管理系統SQL Server中的SQL-3標準的實(shí)現,是微軟對SQL的擴展,具有SQL的主要特點(diǎn),同時(shí)增加了變量、運算符、函數、流程控制和注釋等語(yǔ)言元素,使得其功能更加強大。并且T-SQL自帶了許多實(shí)用的函數,DBA可以利用這些函數來(lái)進(jìn)行更有效地管理。

T-SQL字符串函數

T-SQL字符串函數---截取字符串的值

下面的一組函數詳細描述了如何截取字符串的一部分。這些函數大部分都包含在下面的SELECT語(yǔ)句中:

SELECT ProductName, 
LEFT(ProductName, 12AS A, 
SUBSTRING(ProductName, 94AS B, 
RIGHT(ProductName, 2AS C, 
RTRIM(ProductName) AS D 
FROM Products 

可以看到,SELECT語(yǔ)句中包括函數LEFT,SUBSTRING,RIGHT和RTRIM。執行結果:

LEFT函數返回ProductName列的前12個(gè)字符。該函數有兩個(gè)參數:第一個(gè)參數是字符串表達式,第二個(gè)參數是字符數。在這個(gè)例子中,字符串表達式是ProductName列,字符數是“12”。結果,ProductName列所有值的后半部分都被截掉了,只剩下12個(gè)字符返回。

RIGHT函數的用法也是一樣的,它截取字符串右邊的部分。

SUBSTRING函數可以提取字符串的任意部分。該函數有三個(gè)參數:第一個(gè)參數是字符串表達式,第二個(gè)參數是指定從哪里開(kāi)始截取,第三個(gè)參數表示截取多長(cháng)的字符串。在上面的例子中,字符串表達式仍然是ProductName列。第二個(gè)參數“9”的意思是我們應該從第九個(gè)字符開(kāi)始(截取),第三個(gè)參數“4”意思是獲取四個(gè)字符。

RTRIM的功能是去掉字符串(在第一個(gè)參數中指定)尾部的所有空格。RTRIM函數還有與它相對的另一個(gè)函數:LTRIM函數。它會(huì )刪除字符串左側的空格。

T-SQL字符串函數---修改字符串的值

T-SQL還包括可以在SQL Server中修改字符串值的一組函數。下面的語(yǔ)句就是一個(gè)例子:

代碼
SELECT 
REPLACE(ProductName, 'Mountain''Mtn'AS ReplaceName, 
STUFF(ProductName, 112'x01'AS StuffName, 
REVERSE(ProductName) AS ReverseNum, 
STUFF(ProductName, 12REPLICATE(03)) AS ReplicateNum, 
ProductName + SPACE(4+ LOWER (ProductName) AS LowerProdLine 
FROM Products

SELECT語(yǔ)句中包括函數REPALCE,STUFF,REVERSE和REPLICATE,LOWER。執行結果:

 

函數REPLACE,用來(lái)替換給定字符串值中指定的一組字符串為新的字符串。該函數有三個(gè)參數:第一個(gè)參數是字符串表達式,第二個(gè)參數是被替換的字符串,第三個(gè)參數是要替換的新字符串。

函數STUFF,它的作用是按照給定的位置刪除一組指定的字符,并插入一組新的字符。該函數有四個(gè)參數:第一個(gè)參數是待操作的字符串表達式,第二個(gè)參數是待刪除的字符串的起始位置,第三個(gè)參數是要刪除字符的數量,第四個(gè)參數是要插入的字符串。在上面的例子中,STUFF函數指定ProductName列為待操作的字符串。要刪除的字符串從第11個(gè)字符(第二個(gè)參數)開(kāi)始,刪除兩個(gè)字符(第三個(gè)參數)。在那些字符刪除后,新字符(x01)被插入到該位置。

函數RESERVSE的作用是:把給定字符串按逆序排列。

函數REPLICATE,該函數可以把指定字符串值重復指定的次數。該函數有兩個(gè)參數:第一個(gè)參數是待處理的字符串值,第二個(gè)參數是重復次數。在上面的例子中,“0”被重復了三次。

函數SPACE與函數REPLICATE類(lèi)似,它返回一組空格。該函數有一個(gè)參數,指定返回的空格數量。

函數LOWER,很簡(jiǎn)單,它把字符串中的大寫(xiě)字符轉換為小寫(xiě)字符。

T-SQL字符串函數---轉換字符串值

T-SQL提供可以轉換字符串值的函數,如下面的SELECT語(yǔ)句所示:

SELECT 
ProductName + CHAR(9+ STR(ProductID) AS Product, 
ASCII(ProductName) AsciiProductName, 
RTRIM(ProductName) AS ProductName, 
UNICODE(RTRIM(ProductName)) AS UnicodeProductName FROM Products

 SELECT語(yǔ)句中包括函數CHAR,STR,ASCII和RTRIM,UNICODE。執行結果:

第一個(gè)函數是CHAR,可以把一個(gè)ASCII碼整數(從0到255)轉換為字符,該函數只有一個(gè)參數(一個(gè)ASCII碼整數值)。該函數在給你的字符串插入控制字符時(shí)非常方便,比如tab鍵(ASCII碼為9),換行符號(ASCII碼為10)或者回車(chē)符(ASCII碼為13)。

函數STR,它可以把數值型數據轉換為字符型數據。STR函數的參數是待轉換的數值型表達式。

T-SQL還支持ASCII函數,可以轉換單個(gè)字符為ASCII碼整數。

UNICODE函數,該函數用來(lái)把一個(gè)字符轉換為Unicode整數。該函數只有一個(gè)參數:Unicode字符表達式。

T-SQL字符串函數---獲取字符串的相關(guān)信息

還有一些函數可以提供與字符串有關(guān)的信息,比如字符串長(cháng)度或者值內部子串的位置。下面的SELECT語(yǔ)句就演示了幾個(gè)提供字符串相關(guān)信息的函數:

SELECT LEN(ProductName) AS LengthProductName, 
CHARINDEX('Bob', ProductName) AS CharIndexProductName,
PATINDEX('%Pears%', ProductName) AS PatIndexProductName 
FROM Products WHERE ProductID=7

SELECT語(yǔ)句中包括函數CHAR,STR,ASCII和RTRIM,UNICODE。執行結果:

 

函數LEN返回指定字符串的字符數量。該函數只有唯一參數就是待計數的字符串。

函數CHARINDEX的功能是從某字符串中指定的開(kāi)始位置查找某字符串所在位置。該函數有三個(gè)參數:第一個(gè)參數是要搜索的字符串,第二個(gè)參數是待搜索范圍字符串,第三個(gè)參數是搜索開(kāi)始的位置。最后一個(gè)參數是可選的。在上面的例子中,我們在ProductName列中搜索Bob第一次出現的位置,它是從字符串的第7個(gè)位置開(kāi)始的。

函數PATINDEX。該函數在字符串中搜索第一次出現某字符串的位置。該函數有兩個(gè)參數:第一個(gè)參數是要匹配的字符串,第二個(gè)參數是在其中進(jìn)行搜索的字符串??梢杂猛ㄅ浞x匹配模式,提供靈活的搜索模式類(lèi)型。然而,如果你使用通配符“%”,你必須在待搜索字符的前面或者后面都加上它,除非你搜索以指定字符串開(kāi)頭或結尾的匹配。例如,在上面的語(yǔ)句中,“%Pears%”被指定為在ProductName值中搜索的匹配模式。結果顯示,第一次匹配的實(shí)例在第27個(gè)字符位置。

T-SQL集合函數

T-SQL集合函數---基礎函數

在操作SQL Server數據庫中的數據時(shí),有時(shí)你可能會(huì )需要對一組數值執行計算。此處灰?;A,就不過(guò)多說(shuō)了。

MAX函數:最大值函數。MIN函數:最小值函數。AVG函數:平均值函數。SUM函數:求和函數。COUNT函數:總計函數。

利用集合函數處理分組數據的時(shí)候,可以使用ROLLUP,CUBE或者GOURPING SETS操作符來(lái)指定包含在結果集中的附加統計數據。

T-SQL集合函數---獲取統計數據

SQL Server有四個(gè)集合函數可以支持你對數值型列的一組值做數據統計:

STDEV:返回值的統計標準方差。
STDEVP:返回總體值的統計標準方差。
VAR:返回值的統計方差。
VARP:返回總體值的統計方差。

SELECT STDEV(UnitPrice) AS StdevPrice, 
STDEVP(UnitPrice) AS StdevpPrice, 
VAR(UnitPrice) AS VarPrice, 
VARP(UnitPrice) AS VarpPrice FROM Products

執行結果:

T-SQL 系統函數 

SQL Server內建有可以支持你執行各種任務(wù)的函數,比如轉換數據,操作字符串值,以及執行數學(xué)計算的函數。一些SQL Server函數被歸類(lèi)為系統函數,這些函數支持你查看關(guān)于更新和插入操作的信息,提取服務(wù)器屬性設置,訪(fǎng)問(wèn)當前會(huì )話(huà)及其用戶(hù)的詳細信息。你還可以利用系統函數執行許多語(yǔ)言相關(guān)的任務(wù)。

T-SQL系統函數---查看有關(guān)數據修改的信息 

SQL Server的一些系統函數支持獲取你的更新和插入操作的明細信息。例如,你可以獲取插入到某個(gè)表中的最后一個(gè)標識值,或者對某個(gè)表增加或者更新的行數。要展示這些函數如何使用,我定義了下面的表并給它填充了幾行數據:

代碼
USE Northwind; 
IF OBJECT_ID('TableA''U'IS NOT NULL 
DROP TABLE dbo.TableA; 
CREATE TABLE dbo.TableA 

ColA INT IDENTITY(101100NOT NULL
ColB VARCHAR(20NOT NULL
); 
INSERT INTO TableA (ColB) VALUES('red'); 
INSERT INTO TableA (ColB) VALUES('blue'); 
INSERT INTO TableA (ColB) VALUES('green'); 
INSERT INTO TableA (ColB) VALUES('yellow'); 
INSERT INTO TableA (ColB) VALUES('orange'); 

SELECT * FROM TableA;

 現在,我們來(lái)看一個(gè)例子,其中使用了幾個(gè)系統函數提取關(guān)于剛插入上面那個(gè)表的數據相關(guān)的信息。下面的“SELECT語(yǔ)句”包括五個(gè)函數,其中三個(gè)與身份列值有關(guān),而另兩個(gè)與行數有關(guān):

SELECT 
IDENT_CURRENT('TableA'AS LastValue, 
IDENT_SEED('TableA'AS SeedValue,
IDENT_INCR('TableA'AS IncrValue, 
@@ROWCOUNT AS RowsAffected, 
ROWCOUNT_BIG() AS BigRowsAffected;

執行結果:

第一個(gè)函數是IDENT_CURRENT,它提取插入表“TableA”的最后一個(gè)身份值。如你所見(jiàn),表“TableA”被指定為該函數的一個(gè)入參。該函數返回的信息與添加數據時(shí)的會(huì )話(huà)無(wú)關(guān),也與添加時(shí)執行的語(yǔ)句范圍無(wú)關(guān)。這一點(diǎn)非常重要,因為SQL Server支持其他身份相關(guān)的函數,包括專(zhuān)門(mén)針對當前會(huì )話(huà)(@@IDENTITY)和當前范圍和會(huì )話(huà)(SCOPE_IDENTITY)的函數。

IDENT_SEED函數返回起始值,而IDENT_INCR函數返回增量值。

@@ROWCOUNT 函數返回最后一個(gè)語(yǔ)句影響的行數?!癛OWCOUNT_BIG”函數也做同樣的事情,唯一區別是返回值類(lèi)型是bigint。如果你預計影響的行數會(huì )多于20億條數據,你應該使用這個(gè)函數。要注意,這兩個(gè)函數都不是關(guān)聯(lián)于某個(gè)表的,因為這兩個(gè)函數基于最后一條執行的語(yǔ)句獲取數據。

T-SQL系統函數---查看服務(wù)器屬性

有時(shí),你可能想要檢索特定的服務(wù)器屬性值,這種情況下,你可以使用“SERVERPROPERTY”函數。該函數有一個(gè)參數(屬性名稱(chēng)),請看下面的示例:

SELECT 
SERVERPROPERTY('Edition'AS SrvEdition, 
SERVERPROPERTY('InstanceName'AS SrvInstance, 
SERVERPROPERTY('Collation'AS SrvCollation;

在這個(gè)“SELECT”語(yǔ)句中,我檢索了“Edition”,“InstanceName ”和“Collation ”屬性的設置,它們以參數的形式傳遞到函數中。該“SELECT”語(yǔ)句返回下面結果:

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SQL注入攻擊
Oracle字符串函數 - leeldy的日志 - 網(wǎng)易博客
php中轉義mysql語(yǔ)句的實(shí)現代碼
SQL Server基本函數
vb/vba中拼接SQL語(yǔ)句不再煩惱
Android 數據查詢(xún)query函數參數解析
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久