国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql字符串函數大全和使用方法示例

2020-07-25 13:00:44
字體:
來源:轉載
供稿:網友

SQL SERVER支持的字符串函數內容:

復制代碼 代碼如下:

LEN(string)函數
LOWER(string)函數
UPPER (string)函數
LTRIM(string)函數
RTRIM (string)函數
SUBSTRING(string,start_position,length)函數
CHARINDEX(string,substring)函數
LEFT (string,length)函數
RIGHT (string,length) 函數
ASCII(string)函數
ASCII(string)函數

(1)LEN(string)函數:此函數是用來計算一個字符串的長度,接受一個參數(可以為表里面的一個字符串字段,也可以為別的)。這里面,是沒有區分大小寫(下面的函數都一樣)。LEN,len,還是Len都等同。例子如下:

SELECT FName, LEN(FName) FROM T_Person
注:如果給LEN函數傳遞的參數是一個時間字段的話,那么返回的結果就不對,比如一個DateTime。所以呢,這個函數是用來計算字符串的長度,別的類型參數也能返回結果,但是就不一定正確。

I、如果傳進去的是NULL,那么返回出來的還是NULL。

II、對于一個字符串形如' a a ',返回的結果是4,而不是5。即計算的結果不包括右側全為空格字符串部分。

(2)LOWER(string)函數:此函數是用來把一字符串都轉換為小寫字符串。跟LEN()函數一樣,也接受一個參數。

復制代碼 代碼如下:

SELECT FName, LOWER(FName) FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

(3)UPPER (string)函數:與LOWER()函數相反,此函數把字符串都轉換為大寫字符串。也同樣接受一個參數。

復制代碼 代碼如下:

SELECT FName, UPPER(FName) FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

(4)LTRIM(string)函數:此函數是去除字符串左邊的空格(對于夾在字符串里面的空格則無能為力)。也同樣接受一個參數。

復制代碼 代碼如下:

SELECT FName,LTRIM(FName),LTRIM(' abc ') FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

(5)RTRIM (string)函數:此函數是去除字符串右邊的空格(對于夾在字符串里面的空格則無能為力)。也同樣接受一個參數。

復制代碼 代碼如下:

SELECT FName,RTRIM(FName),RTRIM(' abc ') FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

如果需要去除兩邊的空格(對于夾在字符串里面的空格則無能為力),則需要聯合來使用。

復制代碼 代碼如下:

SELECT FName,LTRIM(RTRIM(FName)),LTRIM(RTRIM(' abc ')) FROM
T_Person

(6)SUBSTRING(string,start_position,length)函數:此函數是使用來獲取子字符串。其中參數string為主字符串,start_position為子字符串在主字符串中的起始位置,length
為子字符串的最大長度。需要注意的是這里的start_position是從1開始,不同于數組是從0開始。如果給的是0的話,相當于取了一個''。

復制代碼 代碼如下:

SELECT FName, SUBSTRING(FName,2,3) FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

(7)CHARINDEX(substring,string)函數:此函數是計算子字符串在主字符串中位置。其中參數substring為子字符串,string為主字符串。這個函數可以檢測制定的子字符串是否存在于主字符串中,如果存在則還可以返回所在的位置。假如有匹配的話,結果大于0。也就是匹配成功的話,至少從1開始。

復制代碼 代碼如下:

SELECT FName,CHARINDEX('m', FName), CHARINDEX('ly', FName)
FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

(8)LEFT (string,length)函數:此函數是實現從左側開始取子字符串,其中參數string為主字符串,length為子字符串的最大長度。即取出來的結果是1至length范圍內的子字符串。

復制代碼 代碼如下:

SELECT FName, LEFT(FName,3) , LEFT(FName,2)
FROM T_Person

注:如果傳進去的是NULL,那么返回出來的還是NULL。

這種方式等同于使用SUBSTRING(string,start_position,length)函數:

復制代碼 代碼如下:

SELECT FName,SUBSTRING(FName, 1,3) FROM T_Person

(9)RIGHT (string,length) 函數:此函數是實現從右側開始取子字符串,其中參數string為主字符串,length為子字符串的最大長度。即取出來的結果是1至length范圍內的子字符串。

復制代碼 代碼如下:

SELECT FName, RIGHT(FName,3) , RIGHT(FName,2)
F
ROM T_Person


注:如果傳進去的是NULL,那么返回出來的還是NULL。

這種方式等同于使用SUBSTRING(string,start_position,length)函數,其中SUBSTRING(string, LEN(string)- length+1, length)等價于RIGHT (string,length)。

復制代碼 代碼如下:

SELECT FName, SUBSTRING(FName,LEN(FNAME)-2,3) , SUBSTRING(FName,LEN(FNAME)-1,2)
FROM T_Person

(10)REPLACE(string,string_tobe_replace,string_to_replace)函數:此函數是實現字符串的替換功能,其中參數string 為要進行替換操作的主字符串,參數string_tobe_replace 為要被替換的字符串,即string_to_replace將替換string_tobe_replace中所有出現的地方。

復制代碼 代碼如下:

select FName,REPLACE(FName,'i','e'),FIDNumber,
REPLACE(FIDNumber,'2345','abcd') FROM T_Person

借助替換為''來實現刪除字符串的功能:
復制代碼 代碼如下:

SELECT FName, REPLACE(FName,'m','') ,FIDNumber,
REPLACE(FIDNumber,'123','') FROM T_Person

前面介紹過LTRIM(string)函數和RTRIM(string)函數,兩者最終只能刪除兩側的空格,而對于在字符串里面的空格,則無能為力。而借助于REPLACE函數則可以輕松解決。

復制代碼 代碼如下:

SELECT REPLACE(' abc 123 wpf',' ','') , REPLACE(' ccw enet wcf f',' ','')

(11)ASCII(string)函數:此函數用來得到一個字符的ASCII 碼,它有且只有一個參數,這個參數為待求ASCII碼的字符,如果參數為一個字符串則函數返回第一個字符的ASCII碼。
復制代碼 代碼如下:

SELECT ASCII('a') , ASCII('abc')

注:如果傳進去的是NULL或者是'',那么返回出來的是NULL。

(12)CHAR(string)函數:與(11)相反,此函數用來得到一個字符的ASCII 碼。

復制代碼 代碼如下:

SELECT CHAR(56) , CHAR(90) ,'a', CHAR( ASCII('a') )

注:如果傳進去的是NULL,那么返回出來的是NULL。

(13)DIFFERENCE(string)函數:此函數用來比較兩個字符串的發音相似度,它可以計算兩個字符串的發音特征值,并且比較它們,然后返回一個0至4 之間的一個值來反映兩個字符串的發音相似度,這個值越大則表示兩個字符串發音相似度越大。

復制代碼 代碼如下:

SELECT DIFFERENCE(FName,'Merry') FROM T_Person

注:如果傳進去的是NULL,那么返回出來的是NULL。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 申扎县| 巴彦淖尔市| 新田县| 镶黄旗| 辛集市| 哈尔滨市| 布拖县| 甘德县| 华阴市| 黄浦区| 南昌县| 普宁市| 宁武县| 金门县| 四子王旗| 乐昌市| 随州市| 东平县| 玉山县| 新闻| 通城县| 曲周县| 长寿区| 方正县| 青海省| 确山县| 潞城市| 鹰潭市| 瑞丽市| 抚远县| 宁河县| 台北市| 临猗县| 临沧市| 叶城县| 神木县| 望江县| 贺兰县| 沁源县| 松溪县| 中牟县|