`
minghe_zy
  • 浏览: 123773 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

oracle to_date、to_char、to_number之间的转换

阅读更多

1.TO_CHAR 是把日期或数字转换为字符串

   例子:TO_CHAR(number, '格式') --处理数字
            TO_CHAR(price,’$99,999.99’);

            TO_CHAR(date,'格式') --处理日期

            TO_CHAR(sysdate,'yyyy-mm-dd hh24:mi:ss')

       

2.TO_DATE 是把字符串转换为数据库中得日期类型转换函数

   例子:TO_DATE(date,'格式')

            TO_DATE('2011-12-22 00:00:01','yyyy-mm-dd hh24:mi:ss')

3.TO_NUMBER 将字符转化为数字

   例子:TO_NUMBER(price, '99,999,999')

            数字格式格式
            9 代表一个数字
            0 强制显示0
            $ 放置一个$符
            L 放置一个浮动本地货币符
            . 显示小数点
            , 显示千位指示符

           日期格式
            格式控制 描述
            YYYY、YYY、YY 分别代表4位、3位、2位的数字年
            YEAR 年的拼写 
            MM 数字月
            MONTH 月的全拼
            MON 月的缩写
            DD 数字日
            DAY 星期的全拼
            DY 星期的缩写
            AM 表示上午或者下午
            HH24、HH12 12小时制或24小时制
            MI 分钟
           SS 秒钟
           SP 数字的拼写
           TH 数字的序数词

    在oracle中日期格式不区分大小写,mm是月、mi是分钟。

函数使用

1.查询日期是星期几

select to_char(to_date('2011-12-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; 

2.两个日期间的天数

select floor(sysdate - to_date('20111201','yyyymmdd')) from dual;

3.检查两个日期的条件
a_date between to_date('20111101','yyyymmdd') and to_date('20111231','yyyymmdd')

4.查找月份 

 select months_between(to_date('11-11-2011','MM-DD-YYYY'),to_date('10-11-2011','MM-DD-YYYY')) "MONTHS" FROM DUAL; 

5.获得小时

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

6.获得日期在所在月的最后一天

select to_char(add_months(last_day(sysdate) +1, -2), 'yyyymmdd'),last_day(sysdate) from dual 
7.不同时区的显示
select to_char( NEW_TIME( sysdate, 'GMT','EST'), 'dd/mm/yyyy hh:mi:ss') ,sysdate from dual;    
8.一年的第几天   

select TO_CHAR(SYSDATE,'DDD'),sysdate from dual

9.计算小时,分,秒,毫秒    

select     
     Days,     
     A,     
     TRUNC(A*24) Hours,     
     TRUNC(A*24*60 - 60*TRUNC(A*24)) Minutes,     
     TRUNC(A*24*60*60 - 60*TRUNC(A*24*60)) Seconds,     
     TRUNC(A*24*60*60*100 - 100*TRUNC(A*24*60*60)) mSeconds     
    from     
    (     
     select     
     trunc(sysdate) Days,     
     sysdate - trunc(sysdate) A     
     from dual     
   )

10.返回日期列表中最晚日期

select greatest('01年-1月-04','04年-1月-04','10年-2月-04') from dual 

 

 

分享到:
评论

相关推荐

    oracle-sql基本语法例子,包括to_date,to_char

    总结的sql语法,其中包括一些函数的用法,to_date,to_char,to_number等等函数

    oracle使用to_date查询一周的第一天日期

    代码如下:CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS v_first_date char(10); v_date_of_week number(1); BEGIN select to_char(to_date(substr(a_week, 1, 4) || ‘0101’,...

    oracle学习笔记

    to_number(to_date(to_char(d.surmon,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') - to_date('1970-01-01 8:0:0', 'yyyy-mm-dd hh24:mi:ss'))*24*60*60*1000 from ( SELECT case to_number(to_char...

    oracle常用日期函数

    oracle常用日期函数 months_between add_months next_day to_date() to_Number to_char

    oracle sql of extracting table structure

    then all_c.data_type || decode(all_c.data_precision,0,'',NULL,'','(' || to_char(all_c.data_precision)) || decode(all_c.data_precision,0,'',NULL,'', decode(all_c.data_scale,0,'',NULL,'', ',' || to_...

    oracle-10G函数大全.chm

    4,转换函数(convert()、to_char()、to_date()、to_number()...); 5,聚组函数(avg()、sum()、max()、min()、stddev()...); 6,分析函数(sum(...) over(...)、dense_rank、row_number()、lag()...); 7,其它函数...

    ORACLE 毫秒与日期的相互转换示例

    毫秒转换为日期 SELECT TO_CHAR(1406538765000 / (1000 * 60 * 60 * 24) + ...SELECT TO_NUMBER(TO_DATE('2014-07-28 17:12:45', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS'))

    oracle使用管理笔记(一些经验的总结)

    (6) to_char(date,'format') 27 (7) to_date(string,'format') 28 (8)系统函数 29 14.oracle创建数据库实例 30 15.java操作oracle 31 16.oracle事务处理 34 17.oracle数据完整性 36 18.oracle 序列(sequence) 39 19....

    Oracle JOB 用法小结

     SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;    时间  -------------------  2001/01/07 23:51:21  2001/01/07 23:52:22  2001/01/07 23:53:24    删除JOB  SQL> begin  2...

    Oracle8i_9i数据库基础

    第一部分 Oracle SQL*PLUS基础 23 第一章 Oracle数据库基础 23 §1.1 理解关系数据库系统(RDBMS) 23 §1.1.1 关系模型 23 §1.1.2 Codd十二法则 24 §1.2 关系数据库系统(RDBMS)的组成 24 §1.2.1 RDBMS 内核 24...

    oracle函数大全.doc

    SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual; TO_CHA ------ 199910 37.LAST_DAY 返回日期的最后一天 SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'...

    oracle 基础,数据库优化

    /*departments.location_id//部门地址编号*/ /*复制表的命令 create table emp2 as select * from emp where 1=1;...dbms_output.put_line(v_rec.dd_sal||v_rec.dd_name||to_char(v_rec.dd_hiredate,'yyyymmdd')); end;

    ORACLE_PLSQL_基础教程

    变量类型 binary_integer: 整数,主要用来计数而不是用来表示... number 数字类型 char 定长字符串 varchar2 变长字符串 date 日期 long 长字符串,最长2G boolean 布尔类型,可以取值为true,false ,和null。

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL> select to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm') from dual; TO_CHA ------ 199910 37.LAST_DAY 返回日期的最后一天 SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate...

    Oracle事例

    create snapshot snapshot_to_study as select * from TABLE_NAME@to_study; 创建角色 create role aa identified by aaa; 授权 grant create snapshot,alter snapshot to aaa; grant aaa to emp; create ...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    获取top前10个Oracle的进程(支持多实例)

    O","SDPROMPRICE") SELECT "A2"."SDMKTNO","A2"."SDCOUNTER",TO_CHAR ("A2"."SDSWAPDATE",'yymmdd')||SUBSTRB("A2"."SDMKTNO",(-3))||SUBS TRB("A2"."SDPOSNO",(-2))||SUBSTRB(TO_CHAR("A2"."SDINVNO",'000000 00'),...

    ORACLE大表分区

    支持自动ORACLE大表分区: 版本进度: 31. 20110420 V2.2 支持任意表任意时间字段分区 以下为安装部署部分: 1.分区相关脚本部署执行顺序,安装前请确保该用户拥有管理员权限, 同时请执行GRANT CREATE ANY TABLE ...

Global site tag (gtag.js) - Google Analytics