sql中日期,字符串的获取和转换

------字符串--》date类型

代码: select to_date('2014-12-19 10:00:00', 'yyyy-mm-dd hh24:mi:ss') as a,
                  to_date('2014/12/20 10:00:00', 'yyyy/mm/dd hh24:mi:ss') as b
        from dual

SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;

date--->字符串

代码: select to_char(to_date('2014-12-19 10:05:00', 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh:mi:ss') as a,
                 to_char(to_date('2014-12-19 10:05:00', 'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd') as b,
                 to_char(to_date('2014/12/20 10:00:00', 'yyyy/mm/dd hh24:mi:ss'),'yy-mm-dd')as c
        from dual

格式可以自己选择

另:计算月末 月初

------------------------------------------------------------------------------------------

本月月初:select trunc(to_date('20020221','yyyymmdd'),'mm') from dual;

下月月初:select trunc(add_months(to_date('20020221','yyyymmdd'),1),'mm') from dual;

如果只有年月,可以这样写,本月初:select to_date('200202','yyyymm') from dual;

                    下月月初:select add_months(to_date('200202','yyyymm'),1) from dual;

------------------------------------------------------------------------------------------

本月月末:select last_day('20140201')from dual;

下月月末:select last_day (add_months('20140201',1))from dual

如果只有年月,可以这样写,本月月末:select add_months(to_date('201402','yyyymm')-1,1) from dual

                    下月 月末:select add_months(to_date('201402','yyyymm')-1,2) from dual       

 

posted @ 2014-12-19 13:45  easyboy_liang  阅读(1288)  评论(0编辑  收藏  举报