shashaya1122
2015-11-26 09:55
采纳率: 28.6%
浏览 7.1k

oracle中对varchar2类型的日期字段进行查询

日期字段格式都是一样的2015-05-05。其类型是varchar2(20),想要根据某一个月份来进行查询,不知道怎么写sql语句。。
我试了什么to_char(to_date(date,'yyyy-mm-dd hh24:mi:ss'),'yyyymm')=201505;总也不行,不是报错ORA-01840,就是报错ORA-01839....

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • sinat_31535993 2015-11-27 01:15
    已采纳

    根据月份就用like 2015-05%这种呗

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 鼬佐 2015-11-26 09:58

    试试 to_char(date,"yyyymm")=201505

    评论
    解决 无用
    打赏 举报
  • 紫气天堂 2015-11-27 02:05

    这直接使用like进行模糊查询就行了

    评论
    解决 无用
    打赏 举报
  • oqddd 2015-11-27 02:08

    你保存在Oracle的日期类型字符串,就要用操作字符串的方式。日期型就用日期型的数据类型存储为什么用字符串型,那样很难办法判断某个时段的

    评论
    解决 无用
    打赏 举报
  • oqddd 2015-11-27 02:09

    判断具体日期倒可以用like

    评论
    解决 无用
    打赏 举报
  • beyon2008 2015-11-27 03:35

    like 或者to_char

    评论
    解决 无用
    打赏 举报
  • junhuiding 2015-11-29 14:41

    y式试to_char(to_date(date,'yyyy-mm-dd'),'yyyymm')=201505,你数据格式中没有时间,to_date的时候不用加,to_char的结果也可以只显示月

    评论
    解决 无用
    打赏 举报
  • beyon2008 2015-11-30 03:46

    还没结贴,这个很简单的,如果用字符型比较一下like

    评论
    解决 无用
    打赏 举报
  • qq_35166245 2018-09-05 06:37

    select UPDATE_TIME,to_char(to_date(UPDATE_TIME,'yyyy-mm-dd HH24:mi:ss'), 'mm')
    from gdws_sys_hosp t

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题