数据库存的时分秒是string类型的字符串,然后我用某个字段去大于小于去查。结果多出来很多

5ce1c74df131436dfd11d2399c678f0.png

lin1314 发布于 2020-7-23 19:49
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-7-23 19:59
要不就统一转换成秒,要不就把字段全部转化成HH:MM:SS格式再运算,你有些格式是H:MM:SS,比如这种就不行 1:05:20格式不统一,结果就会有偏差。
  • lin1314 lin1314(提问者) 写sql的时候转,还是该数据库,数据库是别人提供的,改不了
    2020-07-23 20:03 
  • zsh331 zsh331 回复 lin1314(提问者) 别人改不了,那就自己改,在写sql时直接转换。
    2020-07-24 09:33 
最佳回答
0
zjc@Lv3初级互助
发布于2020-7-29 11:30(编辑于 2020-8-6 17:50)

oracle用to_date函数转

select * from t99_stat_index_cd where to_date(start_tm,'HH24:mi:ss') > to_date('19:00:00','HH24:mi:ss') and to_date(end_tm,'HH24:mi:ss') < to_date('20:00:00','HH24:mi:ss') and stat_index_type_cd = '0005' ;

MYSQL用time函数转

select * from t99_stat_index_cd where TIME(START_TM) > TIME('19:00:00') and TIME(END_TM) < TIME('20:00:00') and STAT_INDEX_TYPE_CD = '0005';

  • 3关注人数
  • 563浏览人数
  • 最后回答于:2020-8-6 17:50
    请选择关闭问题的原因
    确定 取消
    返回顶部