개발자의 끄적끄적

[OracleDB] 오라클 (현재)날짜, 어제날짜, 년월일시분초, 날짜연산 하기 [펌] 본문

개발/sql

[OracleDB] 오라클 (현재)날짜, 어제날짜, 년월일시분초, 날짜연산 하기 [펌]

효벨 2020. 9. 28. 02:00
728x90
반응형

[OracleDB] 오라클 (현재)날짜, 어제날짜, 년월일시분초, 날짜연산 하기 [펌]

 

 

[현재 날짜를 구하고, 문자열로 출력]

1

2

3

4

SELECT SYSDATE FROM DUAL;

-- 출력: 17/12/30

SELECT TO_CHAR(SYSDATE, 'YYYYMMDD'FROM DUAL;

-- 출력: 20171230

Colored by Color Scripter

cs

 

 

[어제 날짜를 구하고 문자열로 바꿔서 출력]

1

2

3

4

SELECT SYSDATE-1 FROM DUAL;

-- 출력: 17/12/29

SELECT TO_CHAR(SYSDATE-1'YYYYMMDD'FROM DUAL;

-- 출력: 20171229

Colored by Color Scripter

cs

 

 

[한달 전 날짜를 구하고 문자열로 바꿔서 출력]

1

2

3

4

SELECT ADD_MONTHS(SYSDATE,-1FROM DUAL;

-- 출력: 17/11/30

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-1), 'YYYYMMDD'FROM DUAL;

-- 출력: 20171130

Colored by Color Scripter

cs

 

 

[1시간 전, 1분 전, 1초 전 "년월일시분초"(시간은 24시기준) 구하고, 문자열로 출력]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

-- 년월일시분초 구하기

SELECT TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'FROM DUAL;

-- 출력: 20171230143030

 

 

-- 1시간 전 년월일시분초 구하기

SELECT 

  TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),

  TO_CHAR(SYSDATE-(1/24), 'YYYYMMDDHH24MISS'

FROM DUAL;

-- 출력: 20171230143030, 20171230133030

 

 

-- 1분 전 년월일시분초 구하기

-- 24*60을 1440 변경 가능

SELECT 

  TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),

  TO_CHAR(SYSDATE-(1/(24*60)), 'YYYYMMDDHH24MISS'

FROM DUAL;

-- 출력: 20171230143030, 20171230142930

 

 

-- 1초 전 년월일시분초 구하기

-- 24*60*60을 86400 변경 가능

SELECT 

  TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),

  TO_CHAR(SYSDATE-(1/(24*60*60)), 'YYYYMMDDHH24MISS'

FROM DUAL;

-- 출력: 20171230143030, 20171230143029

cs

 

 

[현재시각과 기록된 시각의 (초)차이 구하기]

1

2

3

4

5

6

-- 24*60*60을 86400 변경 가능

SELECT 

  TO_DATE('20171230143030','YYYYMMDDHH24MISS') AS 기록된시각,

  (SYSDATE-TO_DATE('20171230143030','YYYYMMDDHH24MISS'))*(24*60*60) AS second_gap

FROM DUAL;

Colored by Color Scripter

cs

 

 

출처 : m.blog.naver.com/PostView.nhn?blogId=wideeyed&logNo=221174168317

반응형
Comments