Di SQL Server, Anda dapat menggunakan T-SQL FORMAT()
berfungsi untuk memformat tanggal dan/atau waktu. Cukup berikan dua argumen; tanggal/waktu dan format yang akan digunakan.
Format disediakan sebagai string format. String format menentukan bagaimana output harus diformat.
FORMAT()
function juga menerima argumen “budaya” opsional, yang memungkinkan Anda menentukan bahasa/lokal yang harus dipatuhi oleh hasil.
Contoh Dasar
Berikut adalah contoh dasar penggunaan FORMAT()
berfungsi untuk memformat tanggal.
Tanggal Mentah
Pertama, inilah tanggal mentahnya. Jika kita menjalankan pernyataan berikut:
SELECT GETDATE();
Kami mendapatkan hasil yang terlihat seperti ini:
2018-05-03 02:36:54.480
Tanggal Diformat
Sekarang, kita dapat menggunakan FORMAT()
berfungsi untuk memformat tanggal dan waktu itu ke dalam format pilihan kami. Misalnya, kita bisa melakukan ini:
SELECT FORMAT( GETDATE(), 'D');
Yang menghasilkan ini:
Thursday, May 3, 2018
Ini hanyalah salah satu dari banyak format yang bisa kita pilih. Ini yang lain:
SELECT FORMAT( GETDATE(), 'd');
Yang menghasilkan ini:
5/3/2018
Hasil sebenarnya akan bervariasi tergantung pada budaya yang digunakan. Secara default, bahasa sesi saat ini digunakan, tetapi Anda juga dapat menimpanya dengan argumen ketiga (“budaya”).
Menyetel Lokal
Kita dapat menambahkan argumen ketiga (“budaya”) ke kode di atas untuk menentukan lokal yang akan digunakan untuk format tanggal.
Jadi kita bisa melakukan ini misalnya:
SELECT FORMAT( GETDATE(), 'd', 'en-gb');
Yang menghasilkan ini:
03/05/2018
Ini contoh lain:
SELECT FORMAT( GETDATE(), 'd', 'zh-cn');
Yang menghasilkan ini:
2018/5/3
Jika budaya argumen tidak disediakan, bahasa sesi saat ini digunakan.
Berikut cara menemukan bahasa sesi saat ini, dan cara menyetelnya.
Perhatikan bahwa bahasa saat ini biasanya akan sama dengan bahasa default pengguna, tetapi ini mungkin tidak terjadi jika pengguna telah mengubah bahasa saat ini menggunakan SET LANGUAGE
. Bagaimanapun, Anda juga dapat mengetahui apa bahasa defaultnya.
Seperti yang Anda bayangkan, Anda bisa mendapatkan hasil yang sangat berbeda tergantung pada bahasa Anda saat ini atau nilai argumen "budaya" apa pun. Lihat Bagaimana Setelan Bahasa dapat Mempengaruhi Hasil FORMAT() Anda untuk contoh lainnya.
Mengekstrak Bulan/Minggu/Tahun
Anda dapat menggunakan FORMAT()
berfungsi untuk mengembalikan hanya bagian bulan dari tanggal, atau minggu, atau tahun sesuai kebutuhan.
Perhatikan bahwa ini peka huruf besar-kecil. Misalnya, MMM
memformat bulan secara berbeda menjadi mmm
.
Bulan
Contoh kode untuk mengembalikan bagian bulan:
SELECT FORMAT( GETDATE(), 'MMM');
Hasil:
May
Tahun
Contoh kode untuk mengembalikan bagian tahun:
SELECT FORMAT( GETDATE(), 'yyyy');
Hasil:
2018
Hari
Contoh kode untuk mengembalikan bagian hari:
SELECT FORMAT( GETDATE(), 'dddd');
Hasil:
Thursday
Mengekstrak Waktu
Anda juga dapat menggunakan FORMAT()
berfungsi untuk mengembalikan waktu dalam format tertentu.
Ini contohnya:
SELECT FORMAT( GETDATE(), 'hh.mm');
Hasil:
03.37
Penanda AM/PM
Anda juga dapat menambahkan tt
untuk menyertakan penanda AM/PM:
SELECT FORMAT( GETDATE(), 'hh.mm tt');
Hasil:
03.37 AM
Menggabungkan Format String
Anda juga dapat menggabungkan string format ini untuk menyediakan format tanggal kustom Anda sendiri. Contoh:
SELECT FORMAT( GETDATE(), 'hh.mm tt dddd, dd MMMM, yyyy');
Hasil:
03.41 AM Thursday, 03 May, 2018
Referensi Penentu Format Tanggal dan Waktu
Artikel berikut berisi semua penentu format tanggal dan waktu yang dapat digunakan dengan FORMAT()
fungsi di SQL Server, bersama dengan contoh T-SQL:
- String Format Tanggal dan Waktu Standar
- String Format Tanggal dan Waktu Khusus
Ini adalah penentu format tanggal dan waktu yang sama yang didukung oleh .NET Framework (FORMAT()
fungsi bergantung pada .NET Framework).
Referensi Penentu Format Numerik
Artikel berikut berisi semua penentu format numerik yang dapat Anda gunakan dengan FORMAT()
fungsi (yaitu untuk memformat angka):
- String Format Numerik Standar
- String Format Numerik Kustom
Ini adalah penentu format numerik yang sama yang didukung oleh .NET Framework.
Fungsi Tanggal Lainnya
T-SQL juga menyertakan banyak fungsi lain yang membantu Anda mengekstrak bagian dari tanggal. Ini termasuk fungsi seperti DAY()
, MONTH()
, YEAR()
, DATEPART()
, dan DATENAME()
.