11 May 2017

Convert String to Date di Oracle dan MySQL

Jadi dulu saya ada case ingin import data dari excel ke MySQL. Di Excel, data tersebut di simpan dalam bentu Date/Datetime, dan ketika ingin diimport ke database, baik oracle maupun mysql punya standarisasi untuk dapat mengimport data tersebut. Data di Excel ini, nantinya bisa kita ubah menjadi String/char sekalian build up query insertnya di excel (dulu tools nya cuma punya itu).

Di Oracle kita bisa pakai fungi TO_DATE , dan di MySQL fungsi yang bisa kita gunakan adalah STR_TO_DATE. Beda dikit, tapi jangan ketuker :)

Fomat Date
Ketika kita ingin memformat dari string ke date, pastiin kita pakai mapping parameter yang sesuai.

Oracle TO_DATE Decription MySQL STR_TO_DATE
YYYY 4-digit year %Y
YY 2-digit year %y
RRRR 2 or 4-digit year, 20th century for 00-49 %Y
RR 2-digit year, 20th century for 00-49 %y
MON Abbreviated month (Jan - Dec) %b
MONTH Month name (January - December) %M
MM Month (1 - 12) %m
DY Abbreviated day (Sun - Sat) %a
DD Day (1 - 31) %d
HH24 Hour (0 - 23) %H
HH or HH12 Hour (1 - 12) %h
MI Minutes (0 - 59) %i
SS Seconds (0 - 59) %s

Untuk ngecek hasil mappingnya, bisa coba jalain query ini di Oracle:
SELECT TO_DATE('2017-05-11', 'YYYY-MM-DD') FROM dual;

atau query ini di MySQL:
SELECT STR_TO_DATE('2017-05-11', '%Y-%m-%d');
 
Jika datasource kita cuma tanggal, tapi mau diimport ke format datetime gimana? default nya sih format waktunya nanti akan menjadi 00:00:00. Tapi kalau ada isinya, nanti bisa disesuaikan pakai mapping di atas.

No comments:

Post a Comment