自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL 如何實現(xiàn) Excel 的分列功能?

運維 數(shù)據(jù)庫運維
我們在處理SQL里的數(shù)據(jù)時候,時不時會遇到對字符串進行分割的情況。類似Excel中按指定字符進行分列,今天給大家介紹兩種處理方法。

[[431858]]

我們在處理SQL里的數(shù)據(jù)時候,時不時會遇到對字符串進行分割的情況。類似Excel中按指定字符進行分列,今天給大家介紹兩種處理方法。

借助Excel進行分割

先將數(shù)據(jù)從數(shù)據(jù)庫導出到Excel,使用Excel進行分列后再導入到數(shù)據(jù)庫中。注意再次導入需要改變表結(jié)構(gòu),因為分列后數(shù)據(jù)字段變多了,必須新建列進行匹配。

使用函數(shù)進行分割

使用CHARINDEX函數(shù),CHARINDEX函數(shù)的作用是如果能夠找到對應(yīng)的字符串,就返回該字符串的位置,否則返回0.

語法如下:

  • CHARINDEX(expressionTarget,expressionSource[,start_location]) expressionTarget:是我們要查找的目標字符串
  • expressionSource:是被查找的字符串
  • start_location:開始查找的起始位置,默認為空表示從第一位開始查找

例如:

  1. SELECT CHARINDEX('Road','SQL_Road'

返回的結(jié)果為:5

就是表示字符串'Road'在字符串'SQL_Road'的第5個位置?;氐轿覀兎至械挠梅ㄉ?,我們可以這樣寫:

  1. SELECT   
  2. 'ABCD,BDEF' AS R, 
  3. LEFT('ABCD,BDEF',CHARINDEX(',','ABCD,BDEF')-1) AS R1 , 
  4. RIGHT('ABCD,BDEF',(LEN('ABCD,BDEF') - CHARINDEX(',','ABCD,BDEF'))) AS R2 

(提示:可以左右滑動代碼)

返回的結(jié)果為

上面是對字符串'ABCD,BDEF'按照逗號(,)進行分列。方法固定,如果是對其他符號進行分列,只需要修改其中的符號即可。

 

以上就是兩種我常使用的辦法,希望對大家有幫助。

 

責任編輯:武曉燕 來源: SQL數(shù)據(jù)庫開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號