日期:2014-05-16  浏览次数:20537 次

Oracle 时间和字符串的装换
  1. 使用to_char()函数可以完成从日期数据到字符串的准换过程
    to_char(x[, format])
    eg: select to_char(sysdate,'yyyy-mm-dd') year from dual; 
  2. 使用to_date()函数可以把指定的字符串装换成一个日期和时间
    to_date(x[, format])
    eg: select to_date('2011-JAN-1','yyyy-mon-dd') from dual;
    
    出现ORA-01843: not a valid month,使用
    SELECT * FROM NLS_SESSION_PARAMETERS;
    查看当前查询的session的语言设置(NLS: native language support) 
    
  3. 其他处理日期和时间的函数
    select add_months(sysdate, -3),
    last_day(sysdate), 
    months_between(add_months(sysdate, 5), sysdate),
    next_day(sysdate,'Thueday '),  --根据参数求的下一个星期的时间
    round(sysdate,'yy'), --根据参数圆整date
    trunc(sysdate,'yy') --根据参数截断date
     from dual;
  4. dual表介绍:
    1. Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中
    2. 它只有一列:DUMMY,其数据类型为:VARCHAR2(1),只有一行数据:'X'
    3. DUAL属于SYS模式,但所有用户都可以使用DUAL名称访问它。用SELECT计算常量表达式、伪列等值时常用该表,因为它只返回一行数据,而使用其它表时可能返回多个数据行