Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SET DATEFIRST – Atur Hari Pertama dalam seminggu di SQL Server

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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan UPDATE dari SELECT di SQL Server

  2. Pengenalan OPENJSON dengan Contoh (SQL Server)

  3. Bagaimana cara menambahkan grup pengguna Direktori Aktif sebagai login di SQL Server

  4. Tidak dapat memotong tabel karena direferensikan oleh batasan KUNCI ASING - Tutorial SQL Server / TSQL Bagian 70

  5. Bagaimana menjalankan prosedur tersimpan di sql server setiap jam?