主頁(yè) > 知識(shí)庫(kù) > SQL Server 常用函數(shù)使用方法小結(jié)

SQL Server 常用函數(shù)使用方法小結(jié)

熱門(mén)標(biāo)簽:武漢長(zhǎng)沙外呼系統(tǒng)方法和技巧 京華物流公司地圖標(biāo)注 智能語(yǔ)音外呼系統(tǒng)選哪家 外呼系統(tǒng)電銷(xiāo)專(zhuān)用 百度地圖標(biāo)注不同路線(xiàn) 優(yōu)質(zhì)地圖標(biāo)注 怎樣在地圖上標(biāo)注路線(xiàn)圖標(biāo) 千呼電銷(xiāo)機(jī)器人價(jià)格 奧威地圖標(biāo)注多個(gè)地方

之前就想要把一些 SQL 的常用函數(shù)記錄下來(lái),不過(guò)一直沒(méi)有實(shí)行。。。嘿嘿。。。

直到今天用到substring()這個(gè)函數(shù),C# 里面這個(gè)方法起始值是 0,而 SQL 里面起始值是 1。傻傻分不清楚。。。

這篇博客作為記錄 SQL 的函數(shù)的使用方法,想到哪里用到哪里就寫(xiě)到哪里。。。

SubString():用于截取指定字符串的方法。該方法有三個(gè)參數(shù):

參數(shù)1:用于指定要操作的字符串。

參數(shù)2:用于指定要截取的字符串的起始位置,起始值為 1 。

參數(shù)3:用于指定要截取的長(zhǎng)度。

select substring('abcdef',1,3)  -- 返回 abc
select substring('123456321',0,2)  -- 返回 1,即第一位,最好不要這樣做

Left():用于返回指定字符串中指定長(zhǎng)度的左側(cè)部分。該方法有兩個(gè)參數(shù):

參數(shù)1:用于指定要操作的字符串。

參數(shù)2:用于指定要返回的子字符串的長(zhǎng)度。

select LEFT('abc123',3)    -- 返回 abc
select LEFT('左側(cè)部分右側(cè)部分',4)  -- 返回 左側(cè)部分

Right():用于返回指定字符串中指定長(zhǎng)度的右側(cè)部分。該方法有兩個(gè)參數(shù):

參數(shù)1:用于指定要操作的字符串。

參數(shù)2:用于指定要返回的子字符串的長(zhǎng)度。

select RIGHT('abc123',3)    -- 返回 123
select RIGHT('左側(cè)部分右側(cè)部分',4)  -- 返回 右側(cè)部分

CharIndex():用于返回指定字符串中指定子字符串出現(xiàn)的起始位置。如果未找到就返回 0。該方法有兩個(gè)參數(shù):

參數(shù)1:用于指定要進(jìn)行查找的字符串。

參數(shù)2:用于指定用作檢索的字符串。

select charindex('a','123a123')    -- 返回 4
select charindex('abc','123a123')  -- 返回 0
select charindex('abc','123abc123')  -- 返回 4

Stuff():用于刪除指定長(zhǎng)度的字符,并在刪除的位置插入新的字符/值。該方法有四個(gè)參數(shù):

參數(shù)1:用于指定要操作的字符串。

參數(shù)2:用于指定要?jiǎng)h除字符的起始位置。

參數(shù)3:用于指定要?jiǎng)h除字符的長(zhǎng)度。

參數(shù)4:用于指定在刪除的位置插入的新的字符串/值。

select stuff('123abc456',4,3,'ABC')    -- 返回 123ABC456
select stuff('123abc456',1,3,'')  -- 返回 abc456,用空字符串替代

 Len():用于返回指定文本的值的長(zhǎng)度。前導(dǎo)空格計(jì)算在內(nèi),尾隨空格不計(jì)算在內(nèi)。該方法有一個(gè)參數(shù):

參數(shù)1:用于指定要操作的文本或字符串。

select len('123')  -- 返回 3
select len('字符串')  -- 返回 3

Difference():用于返回一個(gè)整數(shù)值,指示兩個(gè)字符表達(dá)式的 SOUNDEX 值之間的差異。(即兩個(gè)字符串的相似度)那么什么是 SOUNDEX 值呢?先記著,下面輪到它了。

返回的值從 0 到 4 不等:0 表示幾乎不同或完全不同,4 表示幾乎相同或完全相同。該方法有兩個(gè)參數(shù):

參數(shù)1:用于指定要進(jìn)行比對(duì)的第一個(gè)字符串 SOUNDEX 值 。

參數(shù)2:用于指定要進(jìn)行比對(duì)的第二個(gè)字符串 SOUNDEX 值。

select difference('action','demo')    -- 返回 2
select difference('123456','整數(shù)')    -- 返回 4

Soundex():用于返回指定字符串的 SOUNDEX 值。SOUNDEX是一種語(yǔ)音算法,利用英文字的讀音計(jì)算近似值,值由四個(gè)字符構(gòu)成,第一個(gè)字符為英文字母,后三個(gè)為數(shù)字。在拼音文字中有時(shí)會(huì)有會(huì)念但不能拼出正確字的情形,可用 Soundex 做類(lèi)似模糊匹配的效果。這里的模糊匹配跟 LIKE 不同。

算法簡(jiǎn)要說(shuō)明:

-- 將英文字按以下規(guī)則替換(不使用第一個(gè)字符進(jìn)行匹配,并且不使用對(duì)應(yīng)值為 0 的英文字符的值)
  a e h i o u w y -> 0
  b f p v -> 1
  c g j k q s x z -> 2
  d t -> 3
  l -> 4
  m n -> 5
  r -> 6

如果字符串中存在擁有相同對(duì)應(yīng)數(shù)字的2個(gè)或以上的字母在一起(例如 j 和 k),則刪除其他的,只保留1個(gè)。去除對(duì)應(yīng)值為 0 的字符,只返回前4個(gè)字節(jié),不夠用 0 填充。

select soundex('string')  -- 返回 S215
select soundex('str')  -- 返回 S210
select soundex('123')  -- 返回 0000
select soundex('字符串')  -- 返回 0000

PS:除英文字符以外的字符都將返回 0000,所以上面的方法 Difference() 的第二個(gè)示例會(huì)返回4(表示完全相同)。

Lower():用于返回指定英文字符串的小寫(xiě)形式的字符串。如果不為英文字符串,則返回原值。該方法有一個(gè)參數(shù):

參數(shù)1:用于指定要轉(zhuǎn)換為小寫(xiě)形式的字符串。

select lower('ABC')    -- 返回 abc
select lower('123')  -- 返回 123

Upper():用于返回指定英文字符串的大寫(xiě)形式的字符串。如果不為英文字符串,則返回原值。該方法有一個(gè)參數(shù):

參數(shù)1:用于指定要轉(zhuǎn)換為大寫(xiě)形式的字符串。

select upper('abc')    -- 返回 ABC
select upper('123')  -- 返回 123

Ltrim():用于返回刪除前導(dǎo)空格之后的字符串。該方法有一個(gè)參數(shù):

參數(shù)1:用于指定要進(jìn)行刪除前導(dǎo)空格操作的字符串。

select ltrim('    123')    -- 返回 123
select ltrim('    好多空格')  -- 返回 好多空格
select len('    123')  -- 返回 11
select len(ltrim('    123')) -- 返回 3

Rtrim():用于返回截?cái)辔搽S空格之后的字符串。該方法有一個(gè)參數(shù):

參數(shù)1:用于指定要進(jìn)行截?cái)辔搽S空格操作的字符串。

select rtrim('123     ')    -- 返回 123
select len(rtrim('123     ')) -- 返回 3

Replace():用第三個(gè)表達(dá)式替換第一個(gè)字符串表達(dá)式中出現(xiàn)的所有第二個(gè)給定字符串表達(dá)式。該方法有三個(gè)參數(shù):

參數(shù)1:用于指定要操作的字符串,即被匹配的字符串。

參數(shù)2:用于指定要進(jìn)行匹配的字符串。

參數(shù)3:用于指定用作替換存在的匹配項(xiàng)的字符串。

--把 abc 替換為 xxx 
select replace('123abc456','abc','xxx')    -- 返回 123xxx456
-- 用空字符串替換匹配項(xiàng)
select replace('123abc456','abc','')  -- 返回 123456

以上所述是小編給大家介紹的SQL Server 常用函數(shù)使用方法小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的,在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • SQL server中字符串逗號(hào)分隔函數(shù)分享
  • Sqlserver 自定義函數(shù) Function使用介紹
  • SQL Server實(shí)現(xiàn)split函數(shù)分割字符串功能及用法示例
  • sql server如何利用開(kāi)窗函數(shù)over()進(jìn)行分組統(tǒng)計(jì)
  • Sql Server中REPLACE函數(shù)的使用

標(biāo)簽:防疫戰(zhàn)設(shè) 威海 七臺(tái)河 天水 益陽(yáng) 來(lái)賓 宿州 銅仁

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL Server 常用函數(shù)使用方法小結(jié)》,本文關(guān)鍵詞  SQL,Server,常用,函數(shù),使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQL Server 常用函數(shù)使用方法小結(jié)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于SQL Server 常用函數(shù)使用方法小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章