要对oracle中的时间进行对比取值,但oracle时间格式是:27-2月 -09 09.28.15.062000 上午 这样的。我从前台过来的时间是String型的“2008-01-01 11:20:00”,试过to_char(receivedtime,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss'),但是数据太大,查询效率很低,速度非常慢。现在想试试把前台传入的String值转换成oracle的时间格式然后在sql语句中对比取值,请问该怎么转换呢?
我试过receivedtime>= to_date('2008-01-01 11:20:00','yyyy-mm-dd hh24:mi:ss') 但还是很慢
oracle时间格式转换
答案:2 悬赏:10 手机版
解决时间 2021-12-28 11:09
- 提问者网友:孤山下
- 2021-12-27 22:46
最佳答案
- 五星知识达人网友:长青诗
- 2021-12-27 23:12
你的思路是对的,一定不要在where条件中给你的字段加上函数再去比较,这样不会用到该字段的索引。你可以这样:
receivedtime>= to_date('2008-01-01 11:20:00','yyyy-mm-dd hh24:mi:ss')
receivedtime>= to_date('2008-01-01 11:20:00','yyyy-mm-dd hh24:mi:ss')
全部回答
- 1楼网友:玩世
- 2021-12-28 00:20
select * from 表名 where to_char(日期字段,'yyyy-mm-dd hh24:mi:ss')=传进来的时间
注意:传进来的时间上要加单引号
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯