SQL中表的字符串內(nèi)置函數(shù)詳解
在這篇文章中,我會講解表的字符串類的內(nèi)置函數(shù)。
1. 字符串函數(shù)
下面這個表格是我們在接下來要進行講解的函數(shù),我們現(xiàn)在這里簡單介紹了它們的名字以及他們的作用,這邊之所以這么設(shè)計是因為我們學(xué)到后面的話這些函數(shù)我們已經(jīng)了解了,這樣先寫在前面就方便我們查閱。
| 函數(shù) | 函數(shù) |
|---|---|
| charset(str) | 返回字符串字符集 |
| concat(string2 [, …]) | 連接字符串 |
| instr(string, substring) | 返回 substring 在 string 中出現(xiàn)的位置,沒有返回 0 |
| ucase(string2) | 轉(zhuǎn)換成大寫 |
| lcase(string2) | 轉(zhuǎn)換成小寫 |
| left(string2, length) | 從 string2 中的左邊起取 length 個字符 |
| length(string) | string 的長度 |
| replace(str, search_str, replace_str) | 在 str 中用 replace_str 替換 search_str |
| strcmp(string1, string2) | 逐字符比較兩字符串大小 |
| substring(str, position [,length]) | 從 str 的 postion 開始,取 length 個字符 |
| ltrim(string) rtrim(string) trim(string) | 去除前空格或后空格 |
這張圖里面的表是我們接下來在內(nèi)容中所使用的。

1.1 charset(str)
這個函數(shù)的作用就是獲取要求的那一列的字符集。
語法:
select charset(列名) from 表名;
我們看下面這張圖,我們這樣使用就可以了。
PS:一般來說的話我們的編碼都是utf8的。

1.2 concat(string2 [, …])
這個函數(shù)的話本質(zhì)我認為就是臨時性的字符串拼接??梢园岩粋€表里面的內(nèi)容拼接在一起,當(dāng)然就算不是字符串類型的意義可以拼接到一起。
語法:
select concat(想要拼接的內(nèi)容) as 要取的名字 from 表名;
我們來看下面這個圖片,通過這樣的方式就可以把代碼拼接在一起。

1.3 instr(string, substring)
這個函數(shù)的話就是返回substring在string中出現(xiàn)的位置。
語法:
select instr(字符串,字符);
select instr(表內(nèi)容,字符) form 表名;
我們看下面這個圖片,通過這樣的方式我們就可以找到o這個字符在helloworld這個字符串里面第一次出現(xiàn)的位置。當(dāng)然如果這個字符出現(xiàn)多次的話會返回第一次出現(xiàn)的位置下標(biāo)。

我們看下面這個圖片,這個函數(shù)會按照這個列的行數(shù)來返回,又因為只有第一列有a,其他兩列沒有,所以返回的值是1,0,0。

1.4 ucase(string2)
這個函數(shù)的話就是把字符串轉(zhuǎn)換成大寫。
語法:
select ucase(字符串);
select ucase(表列) from 表名;
我們看下面這個圖片,這樣寫就可以返回字符串的大寫了。

我們看下面這個圖片,這樣寫就可以返回表中字符串的大寫了。

1.5 lcase(string2)
這個函數(shù)的話就是把字符串轉(zhuǎn)換成小寫。
語法:
select lcase(字符串);
select lcase(表列) from 表名;
我們看下面這個圖片,這樣寫就可以返回字符串的小寫了。

我們看下面這個圖片,這樣寫就可以返回表中字符串的小寫了。

1.6 left(string2, length)
這個函數(shù)的話很簡單,就是返回前l(fā)ength個字符。
語法:
select left(string2, length);
我們看下面這個圖片。這樣就可以返回AAAaaa的前4個了。

要從右邊開始去的話直接把left換成right就好。
1.7 length(string)
這個函數(shù)的話就是返回里面字符的長度。
語法:
select length(string);

1.8 replace(str, search_str, replace_str)
這個函數(shù)的話就是替換字符串里面的內(nèi)容。
語法:
replace(原字符串, 要替換的子串, 替換后的子串)
我們看下面這個圖片,通過這樣的方式就可以完成替換,最重要的是在這里是區(qū)分大小寫的。

1.9 strcmp(string1, string2)
這個函數(shù)的話就是逐字的比較兩個字符串的大?。ㄒ訟SCII碼來比較大小)
語法:
select strcmp(string1, string2);
- 返回
0:當(dāng)兩個字符串完全相同時(長度和每個字符都一致)。 - 返回
1:當(dāng)string1大于string2時(比較時從第一個不同的字符開始,string1的字符 ASCII 碼更大)。 - 返回
-1:當(dāng)string1小于string2時(同理,第一個不同字符的 ASCII 碼更?。?。
我們看下面這個圖片,這樣子返回的就是0。

1.10 substring(str, position [,length])
這個函數(shù)的話我覺得就類似于可以選開始位置的left()函數(shù)。
語法:
select substring(str, position [,length]);
我們看下面這個圖片,就是從第三個位置開始往后獲取4個。

1.11 ltrim(string) rtrim(string) trim(string)
這個的話實際上是三個函數(shù),只不過功能意義,只有一些細微上的差別,所以這邊就直接放在一起了。他們?nèi)齻€都是用來去除字符串的空格的,只不過ltrim是去除字符串左邊的空格,rtrim是去除字符串右邊的空格,trim是去除字符串兩邊的空格。
語法:
select trim(string);
我們看下面這個圖片,其實這兩個都實現(xiàn)了去重,只不過上面那個名字太大了,所以顯的好像后面那部分沒有去一樣。

到此這篇關(guān)于SQL之表的字符串內(nèi)置函數(shù)詳解的文章就介紹到這了,更多相關(guān)sql表字符串內(nèi)置函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
將string數(shù)組轉(zhuǎn)化為sql的in條件用sql查詢
將string數(shù)組轉(zhuǎn)化為sql的in條件就可以用sql查詢了,下面是具體是的示例,大家可以參考下2014-05-05
一個查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲過程 SpaceUsed
一個查看MSSQLServer數(shù)據(jù)庫空間使用情況的存儲過程 SpaceUsed...2007-02-02
Sql數(shù)據(jù)庫中去掉字段的所有空格小結(jié)篇
這篇文章主要介紹了Sql數(shù)據(jù)庫中去掉字段的所有空格小結(jié)篇,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05
關(guān)于SQL數(shù)據(jù)庫 msdb.dbo.sp_send_dbmail 函數(shù)發(fā)送郵件的場景分析
這篇文章主要介紹了關(guān)于SQL數(shù)據(jù)庫 msdb.dbo.sp_send_dbmail 函數(shù)發(fā)送郵件的場景分析,需要的朋友可以參考下2018-10-10
SQLServer 2012中設(shè)置AlwaysOn解決網(wǎng)絡(luò)抖動導(dǎo)致的提交延遲問題
這篇文章主要介紹了SQLServer 2012中設(shè)置AlwaysOn解決網(wǎng)絡(luò)抖動導(dǎo)致的提交延遲問題,需要的朋友可以參考下2015-02-02
MSSQL 多字段根據(jù)范圍求最大值實現(xiàn)方法
MSSQL 多字段根據(jù)范圍求最大值實現(xiàn)語句,大家可以參考下2009-09-09

