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

Ubah Format Tanggal Untuk Sesi Saat Ini di SQL Server

Setiap kali Anda terhubung ke SQL Server, banyak pengaturan default diterapkan ke sesi Anda. Ini termasuk bahasa dan pengaturan format tanggal.

Format tanggal biasanya ditentukan oleh bahasa default Anda. Misalnya, jika bahasa default Anda adalah us_english , maka format tanggal default mungkin adalah mdy , dan hari pertama dalam seminggu adalah hari 7 (Minggu).

Jika Anda mengubah bahasa Anda, Anda format tanggal secara implisit akan diperbarui sesuai.

Namun, Anda masih memiliki opsi untuk mengubah format tanggal tanpa mengubah bahasa. Untuk melakukannya, Anda dapat menggunakan SET DATEFORMAT .

Contoh

Pertama, mari kita lihat setelan saat ini.

DBCC USEROPTIONS;

Hasil:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | mdy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Jadi bahasa saya saat ini adalah us_english dan format tanggalnya adalah mdy .

Mari kita ubah format tanggal dan periksa lagi.

SET DATEFORMAT dmy;
DBCC USEROPTIONS;

Hasil:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | dmy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Jadi saya berhasil mengubah format tanggal tanpa mengubah bahasa. Namun, datefirst tetap sama. Jika Anda ingin mengubah datefirst nilai, gunakan SET DATEFIRST .

SET DATEFIRST 1;
DBCC USEROPTIONS;

Hasil:

 
+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | dmy            |
 | datefirst               | 1              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

Dalam hal ini saya telah mengubah hari pertama dalam seminggu menjadi hari 1, yaitu hari Senin.

Setel Ulang Kembali

Menyetel bahasa akan secara implisit menyetel dateformat dan datefirst pengaturan kembali ke nilai default untuk bahasa itu (bahkan jika Anda mengatur ulang bahasa ke bahasa saat ini).

Jadi dalam kasus saya, saya dapat mengatur ulang bahasa ke us_english , dan itu juga akan mengatur ulang nilai format tanggal.

SET LANGUAGE us_English;
DBCC USEROPTIONS;

Hasil:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | us_english     |
 | dateformat              | mdy            |
 | datefirst               | 7              |
 | lock_timeout            | 5000           |
 | quoted_identifier       | SET            |
 | arithabort              | SET            |
 | ansi_null_dflt_on       | SET            |
 | ansi_warnings           | SET            |
 | ansi_padding            | SET            |
 | ansi_nulls              | SET            |
 | concat_null_yields_null | SET            |
 | isolation level         | read committed |
 +-------------------------+----------------+ 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa cara terbaik untuk menerapkan Asosiasi Polimorfik di SQL Server?

  2. Cara memfilter Baris dengan Nilai Null di Select Statement di SQL Server - Tutorial SQL Server / TSQL Bagian 110

  3. Memantau Database dan Instance melalui Activity Monitor | Pemecahan Masalah Kinerja SQL Server -2

  4. Bagaimana mengonversi kolom stempel waktu SQL Server ke format datetime

  5. Demystifying CXPACKET dan CXCONSUMER menunggu jenis di SQL Server