求助:将Sybase中的UPDATE迁移查询语句适配到Oracle数据库
Sybase UPDATE语句Oracle适配方案
原Sybase语句实现逻辑:将
date_call字段前8位日期字符串与hour_init字段的时间字符串拼接为完整日期时间串,转换为datetime类型后更新到fec_hora字段。
适配后可直接运行的Oracle语句
UPDATE t_tel SET fec_hora = TO_DATE(SUBSTR(date_call,1,8) || ' ' || hour_init, 'YYYYMMDD HH24:MI:SS');
适配调整点说明
- 字符串拼接运算符替换:Oracle使用
||实现字符串拼接,替换原Sybase语法中的+运算符 - 日期类型转换函数替换:Oracle使用
TO_DATE()函数完成字符串到日期类型的转换,替换原Sybase的CONVERT()函数,函数第二个参数为拼接后日期时间字符串对应的格式模板,若你实际场景中hour_init字段格式不是HH24:MI:SS(比如为12小时制、无秒数等),可自行调整格式模板匹配实际数据格式即可 - 字符串截取函数兼容:Oracle的
SUBSTR()和Sybase的SUBSTRING()功能完全一致,也可以保留原写法SUBSTRING(date_call,1,8),Oracle可正常兼容识别
内容的提问来源于stack exchange,提问作者mohamed
相关产品推荐
相关产品推荐

