Di SQL Server, Anda dapat menggunakan SET DATEFIRST
untuk mengatur hari pertama dalam seminggu.
Hari pertama dalam seminggu bisa berbeda, tergantung bahasa yang digunakan. Misalnya default untuk us_English adalah 7 (Minggu), sedangkan default untuk Deutsch (Jerman) adalah 1 (Senin).
Artikel ini menunjukkan cara mengubah hari pertama dalam seminggu tanpa mengubah bahasa.
Sintaks
Pertama, sintaksnya seperti ini:
SET DATEFIRST { number | @number_var }
Dimana number | @number_var
adalah bilangan bulat yang menunjukkan hari pertama dalam seminggu. Ini adalah angka antara 1 dan 7.
Tabel berikut menunjukkan pemetaan antara angka dan hari dalam seminggu.
Nilai | Hari pertama dalam seminggu adalah |
---|---|
1 | Senin |
2 | Selasa |
3 | Rabu |
4 | Kamis |
5 | Jumat |
6 | Sabtu |
7 | Minggu |
Jadi nilai katakanlah, 3
, akan menetapkan Rabu sebagai hari pertama dalam seminggu.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh untuk mendemonstrasikan sintaksnya.
SET DATEFIRST 1;
Ini menetapkan hari pertama dalam seminggu menjadi Senin (kita dapat melihat dari grafik di atas bahwa nilai 1
peta hingga Senin).
Kita dapat melihat pengaturan saat ini dengan menggunakan @@DATEFIRST
untuk mengembalikan nilai saat ini dari SET DATEFIRST
.
SELECT @@DATEFIRST AS 'Result';
Hasil:
+----------+ | Result | |----------| | 1 | +----------+
Contoh 2 – Mengganti Pengaturan Bahasa
Contoh ini menunjukkan bagaimana SET DATEFIRST
pengaturan sesuai dengan pengaturan bahasa.
SET LANGUAGE us_english; SELECT @@LANGUAGE AS 'LANGUAGE Before', @@DATEFIRST AS 'DATEFIRST Before'; SET DATEFIRST 1; SELECT @@LANGUAGE AS 'LANGUAGE After', @@DATEFIRST AS 'DATEFIRST After';
Hasil:
+-------------------+--------------------+ | LANGUAGE Before | DATEFIRST Before | |-------------------+--------------------| | us_english | 7 | +-------------------+--------------------+ Changed language setting to us_english. +------------------+-------------------+ | LANGUAGE After | DATEFIRST After | |------------------+-------------------| | us_english | 1 | +------------------+-------------------+
Jadi kita dapat melihat bahwa bahasanya tetap sama, tetapi hari pertama dalam seminggu telah berubah.
Contoh ini menggunakan SET LANGUAGE
untuk menyetel bahasa sesi saat ini (seperti yang disebutkan, digunakan untuk menentukan hari pertama dalam seminggu). Pengaturan bahasa juga secara implisit mengatur format tanggal. Jika perlu, Anda dapat menggunakan SET DATEFORMAT
untuk mengganti pengaturan ini untuk format tanggal.
Untuk melihat DATEFIRST
peta pengaturan untuk setiap bahasa, berikut adalah Daftar Semua Bahasa dan Format Tanggal Terkait di SQL Server 2017.
Anda juga dapat menggunakan sp_helplanguage
prosedur tersimpan untuk mengembalikan daftar itu. Untuk melakukannya, lihat Cara Menemukan Format Tanggal yang Digunakan untuk Bahasa Tertentu di SQL Server (T-SQL).