點擊上方SQL資料庫開發,關注獲取SQL視頻教程
正文共:786字 預估閱讀時間:3分鐘
我們在處理SQL裡的數據時候,時不時會遇到對字符串進行分割的情況。類似Excel中按指定字符進行分列,今天給大家介紹兩種處理方法。
藉助Excel進行分割
先將數據從資料庫導出到Excel,使用Excel進行分列後再導入到資料庫中。注意再次導入需要改變表結構,因為分列後數據欄位變多了,必須新建列進行匹配。
使用函數進行分割
使用CHARINDEX函數,CHARINDEX函數的作用是如果能夠找到對應的字符串,就返回該字符串的位置,否則返回0.語法如下:
CHARINDEX(expressionTarget,expressionSource[,start_location])expressionTarget:是我們要查找的目標字符串expressionSource:是被查找的字符串start_location:開始查找的起始位置,默認為空表示從第一位開始查找例如:
SELECT CHARINDEX('Road','SQL_Road')返回的結果為:5就是表示字符串'Road'在字符串'SQL_Road'的第5個位置。回到我們分列的用法上,我們可以這樣寫:
SELECT 'ABCD,BDEF' AS R,LEFT('ABCD,BDEF',CHARINDEX(',','ABCD,BDEF')-1) AS R1 ,RIGHT('ABCD,BDEF',(LEN('ABCD,BDEF') - CHARINDEX(',','ABCD,BDEF'))) AS R2(提示:可以左右滑動代碼)
返回的結果為
上面是對字符串'ABCD,BDEF'按照逗號(,)進行分列。方法固定,如果是對其他符號進行分列,只需要修改其中的符號即可。
以上就是兩種我常使用的辦法,希望對大家有幫助。
長按下方二維碼加入,我們的SQL訓練營
點擊"閱讀原文",了解SQL訓練營