下划线的问题。。

vic1988 2010-09-24 11:59:20
我想在orcale里 用repalce 可是有下划线,总是报 无效数据

key orderno
1-1_ 1
1-2_ 2
1-3_ 3

update T_COMPANY set KEY=REGEXP_REPLACE(KEY,CAST(ORDERNO AS CHAR(2))+'_',CAST(ORDERNO-1 AS CHAR(2))+'_')

希望各位帮我看看怎么解决啊~!
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vic1988 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhuomingwang 的回复:]
SQL code
--这样试试
update T_COMPANY set KEY='1-'||to_char(orderno-1)||'_';
[/Quote]
这样可以,谢谢啦
  • 打赏
  • 举报
回复
--这样试试
update T_COMPANY set KEY='1-'||to_char(orderno-1)||'_';
vic1988 2010-09-25
  • 打赏
  • 举报
回复
是一个树的结构,所以key这个字段不是都是以1开头的,有的会很长有好几层,所以不能只replace数字
cyousor 2010-09-25
  • 打赏
  • 举报
回复

Update t1
Set Key = Replace(Key, to_char(orderno), to_char(orderno - 1))
Where orderno = 2;



这样不可以么?
不加上'_',还是你有什么需求,必须得加上‘_'
vic1988 2010-09-25
  • 打赏
  • 举报
回复
不是去掉下划线,是想让下划线前边的一位数字减一个,就是删除第一行之后 下边一行的1-2_变成 1-1_ 然后1-3_变成 1-2_
wuyisky84 2010-09-25
  • 打赏
  • 举报
回复
不太明白你的需求,是去掉key 字段中的下划线吗
  • 打赏
  • 举报
回复
[Quote=引用楼主 vic1988 的回复:]
我想在orcale里 用repalce 可是有下划线,总是报 无效数据

key orderno
1-1_ 1
1-2_ 2
1-3_ 3

update T_COMPANY set KEY=REGEXP_REPLACE(KEY,CAST(ORDERNO AS CHAR(2))+'_',CAST(ORDERNO-1 AS CHAR(2))+'_')

希望各位帮我看看怎么……
[/Quote]说说你的需要 你用replace想得到什么结果?
vic1988 2010-09-25
  • 打赏
  • 举报
回复
错了 错了 我用的不是 REGEXP_REPLACE 就是 replace
wuyisky84 2010-09-25
  • 打赏
  • 举报
回复
REGEXP_REPLACE 要用正则表达式

vic1988 2010-09-25
  • 打赏
  • 举报
回复
啊 求助啊 求助

17,088

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧