SQL Server menyediakan banyak fungsi dan syntax query yang bisa membantu developer maupun data analyst dalam mengolah data secara efisien.

Melalui artikel ini, kami akan berbagi beberapa fungsi dan syntax query pilihan yang sering digunakan dalam praktik sehari-hari berikut ini:

1. Membuat Date Key

Untuk menghasilkan **date_key** dalam format `YYYYMMDD`, kita bisa menggunakan syntax berikut:

CONVERT(INT, CONVERT(VARCHAR(8), GETDATE(), 112)) AS date_key

Syntax ini akan mengubah tanggal saat ini (`GETDATE()`) menjadi string dengan format `YYYYMMDD`, lalu dikonversi ke integer. Hasilnya bisa digunakan sebagai primary key atau reference di tabel fact dalam data warehouse.

2. Membuat Time Key

Selain date key, kita juga bisa membuat **time_key** dalam format `HHMMSS`. Caranya:

CONVERT(INT, REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ‘:’, ”)) AS time_key

Catatan:

  • Format `108` menghasilkan waktu `hh:mm:ss`.
  • Fungsi `REPLACE` menghapus tanda `:` sehingga menjadi `hhmmss`.
  • Lalu dikonversi ke integer agar lebih mudah digunakan sebagai key.

Contoh hasil: `153045` untuk jam 15:30:45.

3. Menggabungkan Date Key dan Time Key

Jika ingin membuat satu key unik yang berisi tanggal dan waktu sekaligus, gunakan:

CONVERT(BIGINT,
CONVERT(VARCHAR(8), GETDATE(), 112) +
REPLACE(CONVERT(VARCHAR(8), GETDATE(), 108), ‘:’, ”)
) AS datetime_key

Hasilnya berupa `YYYYMMDDHHMMSS`, misalnya `20260223153045`.

4. Memperoleh Selisih Waktu

Kalau tujuan Anda adalah menghitung selisih waktu (durasi) antara GETDATE() dan variabel tertentu (misalnya variable @waktu), biasanya digunakan fungsi DATEDIFF. Berikut ini adalah contoh-nya:

— Menghitung selisih dalam detik
SELECT DATEDIFF(SECOND, @waktu, GETDATE()) AS SelisihDetik;

Jika ingin menampilkan hasilnya dalam format time, Anda bisa mengonversinya dengan DATEADD lalu CONVERT:

— Konversi selisih ke tipe TIME
SELECT CONVERT(TIME, DATEADD(SECOND, DATEDIFF(SECOND, @waktu, GETDATE()), ’00:00:00′)) AS SelisihWaktu;

📌 Penjelasan:

DATEDIFF(SECOND, @waktu, GETDATE()) → menghitung jumlah detik selisih.
DATEADD(SECOND, …, ’00:00:00′) → menambahkan selisih detik ke waktu dasar ’00:00:00′.
CONVERT(TIME, …) → hasil akhirnya berupa tipe time.

Daftar syntax SQL Server pilihan diatas akan terus diperbarui secara periodik agar tetap relevan dengan kebutuhan pengolahan data. Dengan memanfaatkan fungsi-fungsi ini, Anda bisa lebih mudah membangun query yang efisien, rapi, dan siap digunakan dalam berbagai skenario bisnis maupun analisis data.


Upgrade Jam Tanganmu Sekarang!

🌟 Smartwatch modern dengan fitur lengkap: detak jantung, olahraga, dan tahan air. Praktis & kekinian. ✨

~ shopee.co.id ~

Bonbox Premium Spin Mop 2in1 – Pel Modern Lebih Praktis

⚡ Bersihkan rumah lebih cepat dengan Bonbox Premium 2in1! Ember cuci & bilas otomatis, kepala pel 360°, tongkat stainless teleskopik, dan microfiber tebal. Praktis, higienis, tanpa repot memeras tangan. 🌸

~ shopee.co.id ~