Please wait...
Suggest:

Query EXTRACT untuk menangani TIMESTAMP di Postgresql

Last update at Agustus 15, 2022 by
Query EXTRACT untuk menangani TIMESTAMP di Postgresql

Pendahuluan

Postgresql merupakan software database berbasis relasi yang cukup powerfull untuk aplikasi kecil maupun besar, developer yang masih baru maupun lama menggunakan postgresql terkadang masih melakukan kesalahan dalam menangani permasalahan dengan format data timestamp.

Misalkan kita mau mengambil tahun dari suatu kolom dengan format data timestamp misalnya '2022-04-09 10:09:11' masih ada yang menggunakan fungsi LEFT(column_name, 4) meskipun itu bisa dilakukan akan tetapi sebenarnya postgresql sendiri sudah ada fungsi EXTRACT yang khusus untuk menangani permasalahan tersebut.

Fungsi EXTRACT postgresql

Fungsi EXTRACT dapat digunakan untuk mengambil bagian-bagian tertentu dari data dengan format datetime.

Baca Juga : Memantau Server Linux dengan Grafana dan Prometheus

Penulisan Query EXTRACT (Syntax)

Berikut ini gambaran syntax query fungsi EXTRACT:

EXTRACT(field FROM source)

Keterangan (Arguments) :

Fungsi query EXTRACT() ini memiliki dua argumen wajib :

1. field

Argumen field menentukan bagian mana yang mau diekstrak dari value tanggal/waktu, berikut ini table informasi field yang bisa digunakan pada fungsi EXTRACT().

Field ValueTIMESTAMPInterval
CENTURYThe century (abad)The number of centuries
DAYThe day of the month (1-31)The number of days
DECADEThe decade that is the year divided by 10Sames as TIMESTAMP
DOWThe day of week Sunday (0) to Saturday (6)N/A
DOYThe day of year that ranges from 1 to 366N/A
EPOCHThe number of seconds since 1970-01-01 00:00:00 UTCThe total number of seconds in the interval
HOURThe hour (0-23)The number of hours
ISODOWDay of week based on ISO 8601 Monday (1) to Sunday (7)N/A
ISOYEARISO 8601 week number of yearN/A
MICROSECONDSThe seconds field, including fractional parts, multiplied by 1000000Sames as TIMESTAMP
MILLENNIUMThe millenniumThe number of millennium
MILLISECONDSThe seconds field, including fractional parts, multiplied by 1000Sames as TIMESTAMP
MINUTEThe minute (0-59)The number of minutes
MONTHMonth, 1-12The number of months, modulo (0-11)
QUARTERQuarter of the yearThe number of quarters
SECONDThe secondThe number of seconds
TIMEZONEThe timezone offset from UTC, measured in secondsN/A
TIMEZONE_HOURThe hour component of the time zone offsetN/A
TIMEZONE_MINUTEThe minute component of the time zone offsetN/A
WEEKThe number of the ISO 8601 week-numbering week of the yearN/A
YEARThe yearSames as TIMESTAMP
Table informasi field pada fungsi EXTRACT() query postgresql

2. source

Pada bagian argument source merupakan nilai dengan tipe data timestamp yang datanya mau diekstrak. Pada bagian ini juga bisa diisi dengan nama column dengan tipe data timestamp atau datetime tetapi jika anda mengisinya dengan format date maka akan otomatis di convert ke timestamp jadi untuk bagian jam, menit, detiknya secara default jadi 00:00:00.

Contoh penggunaan fungsi query EXTRACT

Berikut ini adalah beberapa contoh penggunaan query EXTRACT()

Contoh ekstrak dari kolom suatu table

Mengekstrak tahun dari kolom dengan tipe data timestamp

SELECT id, created_at, EXTRACT(YEAR FROM created_at) as created_year FROM users;

akan memberikan hasil sebagai berikut:

 id |     created_at      | created_year 
----+---------------------+--------------
  1 | 2021-12-07 12:09:08 |         2021
  2 | 2021-07-04 22:20:10 |         2021
  3 | 2021-07-24 11:18:44 |         2021
  4 | 2021-07-30 17:57:51 |         2021
  5 | 2021-07-31 22:08:17 |         2021
(5 rows)

Selanjutnya car mengekstrak bulan dari kolom dengan tipe data timestamp adalah sebagai berikut

SELECT id, created_at, EXTRACT(MONTH FROM created_at) as created_month FROM users;

akan memberikan hasil sebagai berikut:

 id |     created_at      | created_month 
----+---------------------+--------------
  1 | 2021-12-07 12:09:08 |         12
  2 | 2021-07-04 22:20:10 |          7
  3 | 2021-07-24 11:18:44 |          7
  4 | 2021-07-30 17:57:51 |          7
  5 | 2021-07-31 22:08:17 |          7
(5 rows)

Kesimpulan

Bagaimana, apakah sudah paham cara penggunaannya ? supaya lebih paham silahkan pelajari sambil di peraktikan.

Sekian, salam coder’s..

Referensi

Postingan Lainnya

0 Reponse for this article

Be the first to comment

Write your response

Full Name *
Email *
©2024