我如何单独取出时间变量里的月份

解决方案 »

  1.   

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

  2.   


    在Oracle中,要获得日期中的年份,例如把sysdate中的年份取出来,并不是一件难事。
      常用的方法是:Select to_number(to_char(sysdate,''yyyy'')) from dual,
      而实际上,oracle本身有更好的方法,那就是使用Extract函数,
      使用方法是:Select Extract(year from sysdate) from dual,这种方法省掉了类型转换,看上去更加简洁。
      相应的,要取得月份或日,可以用select extract (month from sysdate) from dual和select extract (day from sysdate) from dual。
    此方法获得的结果,是数值型的,大家可以设置一个方法测试一下。
    select EXTRACT(year FROM to_date('2009-11-10','yyyy-mm-dd')) year from dual; 
      

  3.   

     ntemp :=to_number(dtDate,"mm");我可以这么写吗
      

  4.   

    不行。
    可以用 ntemp := to_number(to_char(sysdate,'mm'))
      

  5.   

    可以看看to_char函数及里面format参数的应用
    to_number没有这样的功能