Skip to content

Oracle SQL文の基礎の基礎③

Posted in Oracle, データベース関係, and 技術メモ


忘れがちな基礎を記録しておくこととする。

SQL日付系関数

※sysdate = 2016/11/28 08:55:00

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★システム日付・システム時間

Oracleサーバーの日付を取得する関数です。

例:
SQL> SELECT TO_CHAR(sysdate,’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(SYSDATE,’YY
——————-
2016/11/28 08:55:00

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★年加・減算

年単位で加算・減算取得する関数ですが月単位の関数を12の倍数で加・減算することで年単位で計算しています。

例:
SQL> SELECT TO_CHAR(ADD_MONTHS(sysdate, 12),’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(ADD_MONTHS(
——————-
2017/11/28 08:55:00

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★月加・減算

月単位で加算・減算取得する関数です。

例:
SQL> SELECT TO_CHAR(ADD_MONTHS(sysdate, 1),’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(ADD_MONTHS(
——————-
2016/12/28 08:55:00

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★日加・減算

日単位で加算・減算取得する関数ですが単純にsysdateに+1しています。

例:
SQL> SELECT TO_CHAR(sysdate+3,’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(sysdate+3
——————-
2016/12/01 08:55:00

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★月末日の取得

意外と使う月末の関数。

例:
SQL> SELECT TO_CHAR(LAST_DAY(sysdate),’yyyy/mm/dd’) FROM dual;

TO_CHAR(LA
——————-
2016/11/30

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

★時間の加・減算

時間の加減算は1日を時では24、分では1440、秒では86400で割った数を足して求める。

例(1時間加算):
SQL> SELECT TO_CHAR(sysdate+1/24,’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(sysdate+1/2
——————-
2016/11/28 09:55:00

例(25分加算):
SQL> SELECT TO_CHAR(sysdate+(1/1440*25),’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(sysdate+(1/
——————-
2016/11/28 09:20:00

例(45秒加算):
SQL> SELECT TO_CHAR(sysdate+(1/86400*45),’yyyy/mm/dd hh24:mi:ss’) FROM dual;

TO_CHAR(sysdate+(1/
——————-
2016/11/28 08:55:45

Be First to Comment

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA