查看: 1664|回复: 4
|
Oracle SQL
[复制链接]
|
|
请问有任何的方法可以把 AB-CDEF-GH-I 变成 ABCDEFGH-I 吗??? |
|
|
|
|
|
|
|
发表于 5-9-2008 02:49 PM
|
显示全部楼层
希望可帮到你
[ 本帖最后由 scyther 于 5-9-2008 02:51 PM 编辑 ] |
|
|
|
|
|
|
|
楼主 |
发表于 5-9-2008 03:23 PM
|
显示全部楼层
回复 2# scyther 的帖子
因为后面的字有很多不同的,所以不可以用instr(AB-CDEF-GH-I, '-I')...
不过不用紧谢谢你的帮忙,我也是用料这个方式做,是可以拿到可是很慢,因为我有很多的资料...
[ 本帖最后由 mElO 于 5-9-2008 03:27 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 19-9-2008 10:27 PM
|
显示全部楼层
我试一下。- select
- concat(
- replace(
- substr(
- 'AB-CDEF-GH-I', 0, length('AB-CDEF-GH-I')-2
- ) , '-', ''
- ) , substr ('AB-CDEF-GH-I', length('AB-CDEF-GH-I')-2, length('AB-CDEF-GH-I')
- )
复制代码 |
|
|
|
|
|
|
|
发表于 14-8-2009 10:32 AM
|
显示全部楼层
回复 1# mElO 的帖子
可以用regular expression的方法﹐比較全面。
不用regexp的話﹐這應該是你要的吧﹕
select replace(substr(str, 1, instr(str, '-', -1, 1) - 1), '-', '') ||
substr(str, instr(str, '-', -1, 1))
from (
select 'AB-CDEF-GH-I' as str from dual
); |
|
|
|
|
|
|
| |
本周最热论坛帖子
|