忘れがちな基礎を記録しておくこととする。
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