BI-SQL丨截取字符串

截取字符串

我們?cè)谧鯞I可視化之前,通常需要已經(jīng)清洗干凈的數(shù)據(jù)才能進(jìn)行可視化分析。

隨著電商的發(fā)展,有很多數(shù)據(jù)都是從網(wǎng)上渠道抓取過(guò)來(lái)的,這就導(dǎo)致原始數(shù)據(jù)有很多對(duì)于分析來(lái)說(shuō)的無(wú)效數(shù)據(jù),那么在SQL中這部分?jǐn)?shù)據(jù)該如何進(jìn)行處理呢?

函數(shù)介紹

SUBSTRING語(yǔ)法:

SUBSTRING ( 表達(dá)式 , 開(kāi)始位置 , 長(zhǎng)度 )

返回結(jié)果為:返回字符、binary、text 或 image 表達(dá)式的一部分。

CHARINDEX語(yǔ)法:

CHARINDEX ( 目標(biāo)字符串 , 被查找字符串 [ , 開(kāi)始查找位置 ] )

若省略第三參數(shù),則默認(rèn)從第一位開(kāi)始查找。

返回結(jié)果:字符串開(kāi)始出現(xiàn)的位置。

PATINDEX語(yǔ)法:

PATINDEX ( '%字符串%' , 表達(dá)式)

第一參數(shù)可以使用通配符,第二參數(shù)通常為被查找的字符串。

返回結(jié)果:字符串開(kāi)始出現(xiàn)的位置。

注:

CHARINDEX函數(shù)與PATINDEX函數(shù)從結(jié)果上來(lái)看,二者的作用類(lèi)似,不過(guò)前者是完全匹配,后者支持模糊查詢(xún)。

使用實(shí)例

案例數(shù)據(jù):

在白茶本機(jī)的數(shù)據(jù)庫(kù)中存在名為“CaseData”的數(shù)據(jù)庫(kù)。

存在名為“案例數(shù)據(jù)”的表。從上圖中我們可以看出,數(shù)據(jù)量比較少,而且在[商品名稱(chēng)]這一列中存在很多的無(wú)用字符。

例子1:

提取手機(jī)的所有信息,并將[商品名稱(chēng)]中無(wú)用的字符串去掉。

代碼1:

SELECT SUBSTRING([商品名稱(chēng)],CHARINDEX('手機(jī)',[商品名稱(chēng)]),2) AS Product,* 
FROM [案例數(shù)據(jù)]
WHERE [商品名稱(chēng)] LIKE N'%手機(jī)%'

結(jié)果如下:

解釋?zhuān)?/p>

這段代碼中,我們首先通過(guò)CHARINDEX函數(shù)定位到手機(jī)出現(xiàn)的字符串位置,再通過(guò)SUBSTRING函數(shù)進(jìn)行字符串截取。

代碼2:

SELECT SUBSTRING([商品名稱(chēng)],PATINDEX('%手機(jī)%',[商品名稱(chēng)]),2) AS Product,* 
FROM [案例數(shù)據(jù)]
WHERE [商品名稱(chēng)] LIKE N'%手機(jī)%'

結(jié)果如下:

例子2:

提取[商品名稱(chēng)]中所有商品,并將[商品名稱(chēng)]中無(wú)用的字符串去掉。

代碼:

SELECT SUBSTRING([商品名稱(chēng)],
                 CHARINDEX('[',[商品名稱(chēng)])+1,CHARINDEX(']',[商品名稱(chēng)])-CHARINDEX('[',[商品名稱(chēng)])-1
         )AS Product,* 
FROM [案例數(shù)據(jù)]

結(jié)果如下:

解釋?zhuān)?/p>

這段代碼中,我們先判斷的是“[”符號(hào)首次出現(xiàn)的位置,來(lái)定位所有商品名稱(chēng)的首字符位置,再通過(guò)判斷“]”的位置來(lái)確認(rèn)商品名稱(chēng)的末字符位置,二者相減即為需要截取的字符串長(zhǎng)度。

這里是白茶,一個(gè)PowerBI的初學(xué)者。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容