简体   繁体   中英

Oracle SQL merge multiple columns into datetime stamp

I currently have a data set with the date and time broken into multiple columns. I'm looking for a solution to create a date timestamp column.

Here is an example of the fields:

年 月 StartMonthName 日 时 分 2020 年 8 月 8 日 3 7 25 18

**Preferred timestamp: DD-MON-RRRR HH12:MI:SS **

03-AUG-2020 07:25:18

Oracle Version 19.2.1.247

Thank you in advance

CREATE TABLE TIMESTAMPS
(
  YEAR NUMBER,
  MONTH NUMBER,
  STARTMONTHNAME VARCHAR2(30),
  DAY NUMBER,
  HOUR NUMBER,
  MIN NUMBER,
  SEC NUMBER
);
  
INSERT INTO TIMESTAMPS VALUES (2020, 8, 'August', 3, 7, 25, 18);
INSERT INTO TIMESTAMPS VALUES (2021, 8, 'August', 3, 7, 25, 18);

With your timestamp format.

SELECT TO_CHAR(
       TO_TIMESTAMP(YEAR||'-'||STARTMONTHNAME||'-'||DAY||'-'||HOUR||
       '-'||MIN||'-'||SEC, 'YYYY-MONTH-DD-HH-MI-SS'),
       'DD-MON-RRRR HH12:MI:SS') "TIME"
FROM TIMESTAMPS;

For Date

SELECT TO_CHAR(
       TO_DATE(YEAR||'-'||STARTMONTHNAME||'-'||DAY||'-'||HOUR||
       '-'||MIN||'-'||SEC, 'YYYY-MONTH-DD-HH-MI-SS'),
       'DD-MON-RRRR HH12:MI:SS') "TIME"
FROM TIMESTAMPS;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM