求一条SQL语句 将列logintime中的数据里的"-"改为"/",如原数据:2010-01-20 18:55:41.340,修改后:2010/01/20 18:55:41.340 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as csdnSQL> select regexp_replace('2010-01-20 18:55:41.340','-','\') from dual;REGEXP_REPLACE('2010-01-2018:5------------------------------2010\01\20 18:55:41.340SQ 本帖最后由 inthirties 于 2010-02-05 17:01:35 编辑 写反了SQL> select regexp_replace('2010-01-20 18:55:41.340','-','/') from dual;REGEXP_REPLACE('2010-01-2018:5------------------------------2010/01/20 18:55:41.340SQL> replace(to_char(logintime,'yyyy-mm-dd hh24:mi:ss'),'-','/') 你的logintime是什么类型的?如果是date型的,则没必要更新,提取时指定显示格式就可以了。如果是varchar2或其他字符型的,可以update test set logintime=replace(logintime,'-','/');commit;看你的值,还有毫秒,应该是不是字符型的。 是datatime类型的,sqlserver里的,我要把这列的"-"都换成"/",要不导到oracle后就变样了。 谢谢大家,方法都管用,但是出现了一个吐血的问题,SqlerverDataTime型字段不支持"/",一输入就变回"-",而直接导入到Oracle后,在Oracle中在改也不行,因为Oracle也不支持"-",直接导入后数据就变样了,有点晕了。结贴了,本贴的问题已得答案,回头在另开一贴专门讨论Sqlserver2008-Oracle11G数据迁移问题,嘎嘎~! sql求解大侠! oracle中哪个系统表是存储临时表的? =========在Oracle导出所建的表出现了问题??======= oracle数据库死锁 forall中的性能问题 求一句表达“不等于”的SQL语句(从SQL server迁移到Oracle遇到的问题) 存储字符 有没有比varchar2 更大的类型? 请教sql* plus 问题 怎样在oracle 里储放一部电影?? 请问sql*plus中如何改变缓存中的当前行? oracle 表连接与索引的问题 powerdesigner 的cdm\pdm?
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as csdn
SQL> select regexp_replace('2010-01-20 18:55:41.340','-','\') from dual;REGEXP_REPLACE('2010-01-2018:5
------------------------------
2010\01\20 18:55:41.340SQ
------------------------------
2010/01/20 18:55:41.340SQL>
如果是date型的,则没必要更新,提取时指定显示格式就可以了。如果是varchar2或其他字符型的,可以update test set logintime=replace(logintime,'-','/');
commit;看你的值,还有毫秒,应该是不是字符型的。