麻烦问一下各位大虾我在oralce 中有一张表的一个字段的时间格式是  2008-08-08 20:45:36现在我如何通过 sql 语句来得到当前系统时间的“年月” 格式也是这样 2008-08
谢谢了

解决方案 »

  1.   

      to_char(time,'yyyy-MM) 
      

  2.   


    select to_char(sysdate,'YYYY-MM') from dual;
      

  3.   

    字段类型是date
    就   select to_char(字段名,'YYYY-MM') FROM 表名
    字段类型是char
     select to_date(字段名,'YYYY-MM') FROM 表名
      

  4.   


    这一句可以得到当前系统的年月
    但是麻烦问一下 我要查询的时间字段为 date 类型
    这里怎么转换为 date??谢谢
      

  5.   

    select to_date(to_char(sysdate,'YYYY-MM'),'YYYY-MM') from dual; 
      

  6.   

    select to_date(to_char(sysdate,'YYYY-MM'),'YYYY-MM') from dual; 
      

  7.   

    对,to_date(to_char())ORACLE还没有直接把DATE为YYYY-MM-DD转化为DATE为YYYY-MM的函数
    可能以后ORACLE会开发的吧?
      

  8.   

    select to_char(sysdate,'YYYY-MM') from dual;
      

  9.   

    to_char(sysdate,'yyyymmdd hh24:mi:ss') 
    可以自己定义. 
    如: 
    to_char(sysdate,'yyyy')只取年 
      

  10.   

    我把问题说详细一点我表里面有一个字段是 date类型的 里面的时间格式是  2008-08-08 20:45:36 我只想得到 系统时间的年和月 就得到 2008-08然后用得到的这个时间去查询 这个表里面 2008年 8月份 有多少条数据
    谢谢了!!
      

  11.   

    对。date类型不会是2008-08,需要做为查询条件的话,可以两边都转成char的。
    to_char('字段名','YYYY-MM') = to_char(sysdate,'YYYY-MM')
      

  12.   

    只是查具体某一个月的话也可以写成:to_char('字段名','YYYYMM') = '200808' 
      

  13.   

    select to_char(sysdate,'YYYY-MM') from dual