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.


Mukena Terusan Modern & Super Praktis

🌟 Mukena terusan dengan desain kekinian, rapi dan tidak ribet. Nyaman digunakan tanpa harus mengatur bagian atas dan bawah. Solusi praktis untuk wanita aktif! ✨

~ shopee.co.id ~

Mukena Parasut Ringan & Anti Kusut!

⚡ Mukena parasut berkualitas, ringan, cepat kering, dan tidak mudah kusut. Cocok untuk aktivitas harian maupun traveling. Tampil simpel tapi tetap nyaman saat ibadah! 🌸

~ shopee.co.id ~