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