数据库的时间比较

玉立琦 2014-08-22 11:46:06
数据库的数据是
19-8月 -14 02.58.12.799000000 下午
而我要输入时间段来查询到这个数据,时间段的最小单位是日。


求我要输入的数据格式,以及整个sql语句!

...全文
116 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2014-08-22
  • 打赏
  • 举报
回复
一样的啊
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY') 
         between TO_DATE('2014-01-01','YYYY-MM-DD')
         and TO_DATE('2014-12-31','YYYY-MM-DD')
玉立琦 2014-08-22
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
假设你的表为T,日期字段为D 你录入条件中的格式可以自己调整,修改这里TO_DATE('2014-03-04','YYYY-MM-DD')
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY')
        >TO_DATE('2014-03-04','YYYY-MM-DD')
如果是时间区间呢?
bw555 2014-08-22
  • 打赏
  • 举报
回复
假设你的表为T,日期字段为D 你录入条件中的格式可以自己调整,修改这里TO_DATE('2014-03-04','YYYY-MM-DD')
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY')
        >TO_DATE('2014-03-04','YYYY-MM-DD')
bw555 2014-08-22
  • 打赏
  • 举报
回复
好晕的数据,“月”后面咋还有空格啊 需要对“月”后面的空格处理下
TO_DATE(SUBSTR(replace(D,'月 ',''),1,INSTR(replace(D,'月 ',''),' ')-1),'DD-MM-YY')
玉立琦 2014-08-22
  • 打赏
  • 举报
回复
引用 3 楼 bw555 的回复:
一样的啊
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY') 
         between TO_DATE('2014-01-01','YYYY-MM-DD')
         and TO_DATE('2014-12-31','YYYY-MM-DD')
经验证没有查到!数据库的数据是这样的
20-8月 -14 11.40.01.629000000 上午
玉立琦 2014-08-22
  • 打赏
  • 举报
回复
引用 4 楼 sych888 的回复:
[quote=引用 1 楼 bw555 的回复:] 假设你的表为T,日期字段为D 你录入条件中的格式可以自己调整,修改这里TO_DATE('2014-03-04','YYYY-MM-DD')
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY')
        >TO_DATE('2014-03-04','YYYY-MM-DD')
数据量大的话,效率可能会存在点问题?[/quote] 那你有好的方法么?
sych888 2014-08-22
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
假设你的表为T,日期字段为D 你录入条件中的格式可以自己调整,修改这里TO_DATE('2014-03-04','YYYY-MM-DD')
SELECT * FROM T
WHERE TO_DATE(SUBSTR(D,1,INSTR(D,' ')-1),'DD-MON-YY')
        >TO_DATE('2014-03-04','YYYY-MM-DD')
数据量大的话,效率可能会存在点问题?

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧