,就是record表里有recordfile这个字段,他的记录是0\102\yymmddhhmmss.wav模式,我想取yymmddhhmmss在现在到一小时之前的记录,sql语句怎么写?
解决方案 »
- 为什么10G中的procui.exe文件没了
- oracle无法操作文件
- sql如创建唯一键?
- 求一句简单SQL语句写法!
- 解决不了启动OracleOracleManagementServer服务错误
- 如何把表A的字段A_ID替换成001,002,003,004,005,....有序的自动增加1的数据?(初学),
- 怎样获取数据库表中约束条件?在线等待。。。
- 我想把我用pb和oracle做的程序一起发布,不用安装oracle客户端,怎么办?
- Oracle入门
- 有没有办法知道count(*)返回的是多行还是单行?
- 学习,求一个简单的存储过程的实例
- jsp连接oracle,报这个错误:the network adapter could no establish the connection
--------------------------------------------------------------------------------0\102\050810111111.wav
0\102\050810111111.wav
0\102\050810111121.wav
0\102\050812111121.wav
0\102\050811111121.wavSQL> select * from test5 where to_date(substr(a,7,12),'yyMMddhhmiss')
2 between sysdate- interval '1' hour and sysdate;A
--------------------------------------------------------------------------------0\102\050811111121.wavSQL>
0\11\102\050811111121.wav,而yymmddhhmmss是确定的,所以下面的方法会更准确些:
把楼上兄弟的sql中substr(recordfile,7,12)替换为
substr(recordfile,instr(recordfile,'\',-1,1)+1,12)
//instr()函数这里从后往前检索第1次出现'\'的位置,从前面检索有可能不对,因为目录深度不确定
where to_date(substr(recordfile,-16,12),'yymmddhh24miss') between trunc(sysdate,'hh24') and sysdate;
between sysdate-1/24 and sysdate;