Bab
ini berisi kumpulan TRIK dan TIPS yang cukup bermanfaat dalam perjalanan
pembuatan aplikasi database.
1 Format Tanggal
Dalam
hal memasukkan record (INSERT) secara default format tanggal yang diperkenankan adalah MM/DD/YYYY:
CREATE
TABLE test (tgl DATE);
INSERT
INTO test VALUES (’8/17/1945’);
SELECT *
FROM test;
tgl
------------
1945-08-17
Meski
Postgres memiliki kemampuan mengenal tanggal manakala blok pertama lebih besar
dari 12 maka dianggap
tanggal:
INSERT
INTO test VALUES (’17/8/1945’);
SELECT *
FROM test;
tgl
------------
1945-08-17
1945-08-17
(2 rows)
namun
kita perlu meyakinkan diri bahwa format yang dikehendaki sesuai dengan sistem
Indonesia yaitu DD/MM/YYYY,
sehingga
’1/10/1945’ pasti 1 Agustus 1945 dan bukan 10 Januari 1945. Gunakan perintah SET DATESTYLE sebelum
melakukan
aktivitas INSERT atau UPDATE, dan cukup dilakukan sekali dalam sebuah database session:
SET
DATESTYLE TO ’european’;
INSERT
INTO test VALUES (’1/10/1945’);
SELECT *
FROM test;
Tgl
-----------1945-08-17
1945-08-17
1945-10-01
(3 rows)
Sebaiknya
lakukan perintah SET DATESTYLE di atas sesaat setelah aplikasi Anda berhasil login ke database.
Bisa
jadi
Anda belum merasa puas dengan tampilannya karena formatnya tetap saja tidak
sesuai dengan nilai yang dimasukkan.
Gunakan
SET
DATESTYLE TO ’sql’;
sebagai
pelengkap
SET
DATESTYLE to ’european’;
Dengan
demikian tampilan tanggal berformat DD/MM/YYYY:
SELECT *
FROM test;
tgl
------------
17/08/1945
17/08/1945
01/10/1945
(3 rows)
Selain
lewat set environment, Postgres menyediakan fungsi to_char untuk masalah
format tanggal ini:
SELECT
to_char(tgl, ’dd-mm-yyyy’) AS tgl FROM test;
tgl
------------
17-08-1945
17-08-1945
01-10-1945
(3 rows)
2 Query Tanpa Tabel
Query
dapat dilakukan tanpa menggunakan tabel. Biasanya digunakan untuk meng-execute suatu fungsi dan menampilkan
hasilnya,
seperti fungsi timeofday() berikut:
template1=>
SELECT timeofday();
timeofday
-----------------------------------Sun
Apr 02 07:18:48.401226
2000 JAVT
(1 row)
Atau
untuk melihat current user:
template1=>
select user;
getpgusername
------------postgres
(1
row)
3 Mengubah String Menjadi Tanggal
Gunakan
fungsi text_datetime untuk mengubah suatu string menjadi tipe tanggal dan jam (datetime). Format
string
masukan harus disesuaikan dengan format yang berlaku (lihat pembahasan Format
Tanggal di atas).
template1=>
SELECT
text_datetime(’31-12-2000’);
text_datetime
----------------------------Sun
31 Dec
00:00:00 2000 JAVT
(1 row)
Jika
Anda ingin menyertakan jam, pisahkan dengan spasi antara tanggal dan jam yang
Anda masukkan:
template1=>
SELECT text_datetime(’31-12-2000 14:12:7’);
text_datetime
----------------------------Sun
31 Dec
14:12:07 2000 JAVT
(1 row)
4 Memisahkan date
dan time Pada datetime
Gunakan
fungsi date() untuk mengubah tipe data datetime menjadi date. Kita dapat menggunakan fungsi
timeofday()
yang mengembalikan nilai
bertipe datetime untuk contoh ini:
template1=>
SELECT date(timeofday()), time(timeofday());
date|time
----------+-------02-04-2000|07:21:48
(1
row)
5 Penambahan dan
Pengurangan Untuk date
Tipe
date dapat langsung ditambah atau dikurangi sebagaimana pada bilangan. Contoh
berikut menggunakan fungsi
now() untuk mengetahui tanggal kemarin, hari ini, dan
esok:
template1=>
select now()-1 as kemarin, date(now()) as kini, now()+1 as esok;
kemarin|
kini| esok
----------+----------+---------01-04-2000|02-04-2000|03-04-2000
(1
row)
0 comments:
Post a Comment