Oracle数据库编程经典300例
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

实例013 获取当前日期时间

【实例描述】

获取服务器或本机的日期和时间是实际程序中常用的,对当前日期的各种格式输出更是使用频繁。本实例将通过PL/SQL块输出当前日期所对应的星期数,其在SQL*Plus中运行后返回,结果如图1-33所示。

图1-33 获取当前日期时间

【实现代码】

    SQL> DECLARE
      2  today VARCHAR2(20);
      3  BEGIN
      4  today:=TO_CHAR(SYSDATE,'Day');
      5  DBMS_OUTPUT.PUT_LINE ('Today is '||today);
      6  END;
      7  /

【范例解析】

本实例借助于Oracle PL/SQL提供的TO_CHAR函数和SYSDATE函数来实现。SYSDATE函数获取系统当前日期,TO_CHAR函数将当期日期进行格式化输出,其格式输出符“yyyy-mm-dd”表示按照“年-月-日”的格式输出,“hh24:mi:ss”表示按照“小时-分-秒”的格式输出,而加上输出符“Day”表示输出器对应的星期数。此外,函数TO_DATE也能实现日期时间的格式化输出。

例如,下面语句将“2012-07-29 00:05:10”这个时间进行格式化输出:

    SQL> SELECT TO_CHAR(TO_DATE('2012-07-29 00:05:10', 'yyyy-mm-dd
hh24:mi:ss'),'yyyy-mm-dd hh:mi:ss am'
    ) FROM DUAL
    /

输出结果如图1-34所示。

图1-34 格式化输出日期时间

注意:DBMS_OUTPUT.PUT_LINE语句中的“||”符号表示字符串连接,其功能是在SQL*Plus控制端中输出连接后的字符串。