PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Database
[SQL ] 字串去除重複值
作者:
bernachom
(Terry)
2016-02-06 01:13:52
資料庫名稱: MS 2008R2
資料庫版本:2008 R2
內容/問題描述:
請教一下,我有一個欄位的值,可能會是重複的
例如:
A欄位
AA;AA;CC
DD;FF;FF
我希望可以把重複的去除掉
變成
A欄位
AA;CC
DD;FF
想了好久,請教一下,有什麼好方式能夠處理的嗎
謝謝指導了
作者:
cyr1216
(香吉士)
2016-02-06 22:56:00
想到的只有分段處理,把每一列值撈出來,依;分號拆陣列成再distinct掉
作者:
bernachom
(Terry)
2016-02-07 09:45:00
每一列值撈出來,這是要做子查詢嗎??
作者:
cyr1216
(香吉士)
2016-02-07 22:24:00
我想到的可能要寫成預儲程序
作者: bv5gt (RogerChu)
2016-02-07 23:53:00
Aa,ccff...長度都一樣的會,應該可以用subatring
作者:
bernachom
(Terry)
2016-02-08 09:54:00
每個字串用分號隔開,字串長度可能會不一樣,唉,好麻煩
作者:
Adonisy
(堂本瓜一)
2016-02-08 15:05:00
寫自訂 .net函數吧...
作者:
likesp999
(大腸桿菌)
2016-02-08 15:54:00
覺得這問題因該在前端就要避免,留到db來處理是蠻棘手的問題
作者: bv5gt (RogerChu)
2016-02-09 00:00:00
長度不一樣用substring就要配合charindex,慢慢拆解所有的;做法就跟1樓說的一樣拆完「;」,用Replace,將重復的取代掉,我想到的是這樣
作者:
vi000246
(Vi)
2016-02-12 17:22:00
用正規表達式
http://tinyurl.com/jbtbg8n
關鍵字sql regex duplicate value([^;]+)(;[ ]*\1)*應該這樣才對/([^;]+;)([ ]*\1)*/g 最後一個分號再自己處理沒注意到重複三次的情況 /([^;]+;)([ ]*\1+)*/g想隔元素匹配的話參考這篇吧
http://tinyurl.com/zaet6dr
作者:
bernachom
(Terry)
2016-02-12 20:01:00
正規表達式超複雜..
繼續閱讀
[SQL ] 取值後馬上insert入DB內
renmax
[SQL ] 檢查欄位是否存在
chan15
Re: [SQL ] 挑選A表中某條件值與B表做join
rockchangnew
[SQL ] 挑選A表中某條件值與B表做join
Schematic
[討論] MySQL跨資料庫建外鍵效能會很差嗎
knives
[SQL ] 同TABLE中以欄位當條件 JOIN出新欄位
walilaV
[系統] 資料庫設計問題
oklp1415
[SQL ] 查詢後台使用者帳號密碼資訊
yumemi2001
[系統] OCI操作Oracle中文亂碼問題
humanfly
[SQL ] 如何去除某欄其中的一段資料
localhost
Links
booklink
Contact Us: admin [ a t ] ucptt.com