🧚 Dengar! Beekeeper Studio adalah GUI database yang cepat, modern, dan open source Unduh
14 Januari 2026 Oleh Matthew Rathbone

Format tanggal mengubah tanggal menjadi teks dengan tata letak pilihan Anda, misalnya 03/15/2026 atau Thursday, January 15. Setiap database punya fungsinya sendiri, dan contoh-contoh di sini mencakup PostgreSQL, MySQL, SQLite, dan SQL Server.

Cara memformat tanggal di SQL

Berikan fungsi sebuah tanggal dan string format. Kode di dalam string format mewakili bagian-bagian tanggal, sedangkan sisanya disalin apa adanya. Di SQLite fungsinya adalah strftime(), dan kodenya diawali dengan %:

strftime(format, date)
SELECT strftime('%m/%d/%Y', '2026-03-15');
-- Output: 03/15/2026

SELECT strftime('%I:%M %p', '2026-03-15 14:30:00');
-- Output: 02:30 PM

Pada sebuah kolom, tanggal yang sama bisa ditampilkan dalam tata letak sebanyak yang Anda perlukan:

-- Input: orders
-- order_id | order_date
-- ---------+--------------------
-- 1        | 2026-01-15 09:42:00
-- 2        | 2026-03-02 16:05:00

SELECT
  order_date,
  strftime('%Y-%m-%d', order_date) AS iso_date,
  strftime('%m/%d/%Y', order_date) AS us_date,
  strftime('%d/%m/%Y', order_date) AS european_date
FROM orders;

-- Output:
-- order_date          | iso_date   | us_date    | european_date
-- --------------------+------------+------------+--------------
-- 2026-01-15 09:42:00 | 2026-01-15 | 01/15/2026 | 15/01/2026
-- 2026-03-02 16:05:00 | 2026-03-02 | 03/02/2026 | 02/03/2026

Berikut kode yang paling sering Anda gunakan, beserta hasil masing-masing untuk 2026-03-15 14:30:45:

Kode Arti Contoh
%Y Tahun 4 digit 2026
%m Bulan (01-12) 03
%d Tanggal dalam bulan (01-31) 15
%H Jam, format 24 jam (00-23) 14
%I Jam, format 12 jam (01-12) 02
%p AM atau PM PM
%M Menit (00-59) 30
%S Detik (00-59) 45
%w Hari dalam minggu (0-6, Minggu adalah 0) 0

Aturan yang perlu diketahui

  • SQLite tidak punya kode untuk nama hari atau bulan. Kode seperti %a dan %B membuat strftime() mengembalikan NULL. Sebagai gantinya, petakan %w atau %m ke sebuah nama dengan CASE (lihat bagian hari dalam minggu di bawah).

  • Hasilnya berupa teks. Membandingkan atau mengurutkan tanggal yang sudah diformat berarti membandingkan string, yang hanya sesuai dengan urutan tanggal jika tahun berada di depan:

-- Input: sales
-- id | sale_date  | amount
-- ---+------------+-------
-- 1  | 2025-11-20 | 89.0
-- 2  | 2026-01-08 | 120.0
-- 3  | 2026-03-04 | 64.5

-- Wrong: '11/2025' > '02/2026' is true, because '1' > '0'
SELECT * FROM sales
WHERE strftime('%m/%Y', sale_date) > '02/2026';

-- Output:
-- id | sale_date  | amount
-- ---+------------+-------
-- 1  | 2025-11-20 | 89.0
-- 3  | 2026-03-04 | 64.5

-- Right: put the year first
SELECT * FROM sales
WHERE strftime('%Y-%m', sale_date) > '2026-02';

-- Output:
-- id | sale_date  | amount
-- ---+------------+-------
-- 3  | 2026-03-04 | 64.5
  • NULL masuk, NULL keluar. strftime('%Y-%m-%d', NULL) mengembalikan NULL. Bungkus dengan COALESCE() untuk menampilkan hal lain, misalnya 'No date'.
  • Filter berdasarkan tanggal, format untuk tampilan. WHERE order_date >= '2026-01-01' AND order_date < '2027-01-01' mengembalikan baris yang sama dengan WHERE strftime('%Y', order_date) = '2026', tetapi hanya yang pertama yang bisa memakai index pada order_date.

Sintaks alternatif

PostgreSQL, MySQL, dan SQL Server masing-masing punya fungsi dan kode sendiri:

-- PostgreSQL: TO_CHAR(value, pattern)
-- (FM stops it padding the day name to 9 characters)
SELECT TO_CHAR(TIMESTAMP '2026-01-15 09:42:00', 'FMDay, MM/DD/YYYY HH24:MI');
-- Output: Thursday, 01/15/2026 09:42

-- MySQL: DATE_FORMAT(value, pattern)
-- (%i is the minute; %M would be the month name)
SELECT DATE_FORMAT('2026-01-15 09:42:00', '%W, %m/%d/%Y %H:%i');
-- Output: Thursday, 01/15/2026 09:42

-- SQL Server: FORMAT(value, pattern)
-- (MM is the month, mm the minute)
SELECT FORMAT(CAST('2026-01-15 09:42:00' AS datetime2), 'dddd, MM/dd/yyyy HH:mm');
-- Output: Thursday, 01/15/2026 09:42

-- Older SQL Server code uses CONVERT with a style number (101 is mm/dd/yyyy)
SELECT CONVERT(VARCHAR(10), CAST('2026-01-15' AS date), 101);
-- Output: 01/15/2026

Kapan sebaiknya Anda memformat tanggal?

Format tanggal ketika tanggal perlu ditampilkan atau dikelompokkan sebagai teks. Sebagian besar penggunaan termasuk dalam salah satu dari empat kasus berikut.

Tampilkan tanggal dalam tata letak standar

Gunakan ISO 8601 (YYYY-MM-DD) untuk file dan API, MM/DD/YYYY untuk pembaca di AS, dan DD/MM/YYYY untuk sebagian besar Eropa. Format juga bisa membuang bagian waktu jika Anda hanya butuh tanggalnya.

Kelompokkan baris per bulan atau tahun

Ambil hanya bagian tanggal yang Anda inginkan, seperti %Y untuk tahun atau %Y-%m untuk bulan, lalu kelompokkan berdasarkan hasilnya untuk mendapatkan total tahunan atau bulanan.

Tulis tanggal yang mudah dibaca

Gabungkan kode dengan kata-kata untuk label, pengingat, dan email. “03/16 at 02:30 PM” lebih mudah dibaca daripada “2026-03-16 14:30:00”.

Bekerja dengan hari dalam minggu

%w memberikan hari dalam minggu sebagai angka dari 0 (Minggu) hingga 6 (Sabtu). Filter berdasarkan angka ini untuk menemukan hari kerja atau akhir pekan, atau petakan ke nama hari dengan CASE.

Contoh nyata format tanggal

Beri cap waktu ISO 8601 pada ekspor

Sebuah API membutuhkan timestamp seperti 2026-03-15T08:05:12Z. Waktu di audit_log disimpan dalam UTC, jadi letakkan T dan Z di sekitar kodenya (SQLite):

-- Input: audit_log
-- id | action | logged_at
-- ---+--------+--------------------
-- 1  | login  | 2026-03-15 08:05:12
-- 2  | export | 2026-03-15 14:30:45
-- 3  | logout | 2026-03-15 17:58:03

SELECT
  id,
  action,
  strftime('%Y-%m-%dT%H:%M:%SZ', logged_at) AS logged_at_iso
FROM audit_log;

-- Output:
-- id | action | logged_at_iso
-- ---+--------+---------------------
-- 1  | login  | 2026-03-15T08:05:12Z
-- 2  | export | 2026-03-15T14:30:45Z
-- 3  | logout | 2026-03-15T17:58:03Z

Hitung pendaftaran per bulan

Kelompokkan pengguna berdasarkan bulan mereka bergabung (PostgreSQL). YYYY-MM menjaga bulan tetap dalam urutan tanggal:

-- Input: users
-- id | name       | signup_date
-- ---+------------+------------
-- 1  | Ana Lima   | 2026-01-08
-- 2  | Ben Okafor | 2026-01-27
-- 3  | Chloe Park | 2026-02-14
-- 4  | Dev Mehta  | 2026-03-03
-- 5  | Elle Novak | 2026-03-30

SELECT
  TO_CHAR(signup_date, 'YYYY-MM') AS month,
  COUNT(*) AS signups
FROM users
GROUP BY TO_CHAR(signup_date, 'YYYY-MM')
ORDER BY month;

-- Output:
-- month   | signups
-- --------+--------
-- 2026-01 | 2
-- 2026-02 | 1
-- 2026-03 | 2

Tulis konfirmasi pemesanan

Tuliskan nama hari dan bulan secara lengkap dalam pesan konfirmasi (SQL Server):

-- Input: bookings
-- guest_name  | booking_time
-- ------------+--------------------
-- Priya Patel | 2026-03-16 14:30:00
-- Liam Murphy | 2026-03-18 09:15:00

SELECT
  guest_name,
  FORMAT(booking_time, 'dddd, MMMM d') + ' at ' + FORMAT(booking_time, 'h:mm tt') AS confirmation
FROM bookings;

-- Output:
-- guest_name  | confirmation
-- ------------+-------------------------------
-- Priya Patel | Monday, March 16 at 2:30 PM
-- Liam Murphy | Wednesday, March 18 at 9:15 AM

Temukan hari tersibuk dalam seminggu

Hitung pesanan berdasarkan nama hari pesanan dibuat (MySQL):

-- Input: orders
-- order_id | order_date
-- ---------+--------------------
-- 1        | 2026-03-07 10:12:00
-- 2        | 2026-03-09 16:40:00
-- 3        | 2026-03-14 11:05:00
-- 4        | 2026-03-16 09:20:00
-- 5        | 2026-03-21 13:45:00

SELECT
  DATE_FORMAT(order_date, '%W') AS weekday,
  COUNT(*) AS order_count
FROM orders
GROUP BY weekday
ORDER BY order_count DESC;

-- Output:
-- weekday  | order_count
-- ---------+------------
-- Saturday | 3
-- Monday   | 2

Bacaan lanjutan tentang format tanggal

Di blog ini:

Dokumentasi resmi:

Beekeeper Studio Adalah GUI Database Gratis & Open Source

Tool query & editor SQL terbaik yang pernah saya pakai. Semua yang saya butuhkan untuk mengelola database ada di sini. - ⭐⭐⭐⭐⭐ Mit

Beekeeper Studio cepat, intuitif, dan mudah digunakan. Beekeeper mendukung banyak sekali database, dan berjalan mulus di Windows, Mac, dan Linux.

Versi Linux Beekeeper punya fitur 100% lengkap, tanpa potong kompas, tanpa kompromi fitur.

Apa Kata Pengguna Tentang Beekeeper Studio

★★★★★
"Beekeeper Studio benar-benar menggantikan alur kerja SQL lama saya. Cepat, intuitif, dan membuat pekerjaan database kembali menyenangkan."
— Alex K., Database Developer
★★★★★
"Saya sudah mencoba banyak GUI database, tetapi Beekeeper punya keseimbangan sempurna antara fitur dan kesederhanaan. Langsung berfungsi."
— Sarah M., Full Stack Engineer

Siap Meningkatkan Alur Kerja SQL Anda?

download Unduh Gratis