关于sql instr函数
Oracle 10g 是数据库。 提取日期时以下查询失败。
SELECT TO_CHAR ( TO_DATE ( SUBSTR (file_name , INSTR (file_name , '_', -1, 2)+ 2, 8), 'YYYYMMDD'), 'DD-MM-YYYY') from dual;
我注意到我们收到以下两个不同命名格式的文件名。
660.ASSD.0063.20100923.0409.PTH2.IAC1.gcr_H201009231416151671_bbor.ddr 660.ASSD.M2K_20110309121547_489.ddr
对于一个文件,上述查询有效。另一个文件660.ASSD.M2K_20110309121547_489.ddr 它提取“01103091”并执行 to_date 失败。我如何修改此查询,使其适用于两种文件格式。
Oracle 10g is the db.
The below query fails when extracting the date.
SELECT TO_CHAR ( TO_DATE ( SUBSTR (file_name , INSTR (file_name , '_', -1, 2)+ 2, 8), 'YYYYMMDD'), 'DD-MM-YYYY') from dual;
I noticed we receive the below two file name of different naming formats.
660.ASSD.0063.20100923.0409.PTH2.IAC1.gcr_H201009231416151671_bbor.ddr
660.ASSD.M2K_20110309121547_489.ddr
For one file the above query works . The other file 660.ASSD.M2K_20110309121547_489.ddr
it extracts "01103091" and does a to_date fails. How can i modify this query so it works for both the file formats.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 REGEXP_SUBSTR
Use REGEXP_SUBSTR
您还可以使用 REGEXP_REPLACE 从文件名中删除字母。
You can also use REGEXP_REPLACE to strip-out letters from the file name.