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

Dapatkan Bahasa yang Saat Ini Digunakan di SQL Server

Ada beberapa cara untuk mendapatkan bahasa yang saat ini digunakan di SQL Server.

Bahasa sesi saat ini sering kali menjadi bahasa default untuk login, tetapi hal ini tidak selalu demikian. Seorang pengguna dapat mengubah bahasa saat ini selama sesi.

Selain itu, beberapa fungsi bawaan SQL Server menerima argumen yang memungkinkan Anda menentukan bahasa untuk kueri spesifik tersebut.

Artikel ini menunjukkan cara mengembalikan bahasa yang sedang digunakan.

@@LANGUAGE

@@LANGUAGE fungsi konfigurasi dibuat khusus untuk mengembalikan nama bahasa yang sedang digunakan.

Berikut ini contoh penggunaannya.

SELECT @@LANGUAGE;

Hasil:

us_english

Ini adalah bahasa default untuk login saya.

Berikut ini contoh mengubah bahasa selama sesi saya, lalu jalankan @@LANGUAGE lagi.

SET LANGUAGE British;
SELECT @@LANGUAGE;

Hasil:

British

OPSI PENGGUNAAN DBCC

DBCC USEROPTIONS juga memungkinkan Anda mendapatkan bahasa yang sedang digunakan, bersama dengan beberapa opsi konfigurasi lainnya.

DBCC USEROPTIONS;

Hasil:

+-------------------------+----------------+
 | Set Option              | Value          |
 |-------------------------+----------------|
 | textsize                | -1             |
 | language                | British        |
 | 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 |
 +-------------------------+----------------+  

Saya menjalankan kueri itu segera setelah contoh sebelumnya dan masih mengembalikan bahasa Inggris sebagai bahasa.

Perhatikan juga bahwa bahasa secara implisit memengaruhi dateformat dan datefirst nilai-nilai. Nilai default untuk nilai tersebut saat menggunakan us_english adalah mdy dan 7 masing-masing.

Jika saya mengubah bahasa kembali ke us_English dan jalankan DBCC USEROPTIONS lagi, Anda akan melihat bahwa dateformat dan datefirst pengaturan kembali ke format AS.

SET LANGUAGE us_English; 
 ....... DBCC USEROPTIONS;                                                       
 Time: 0.740s
 Changed language setting to us_english.
 +-------------------------+----------------+
 | 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 |
 +-------------------------+----------------+ 

Namun, Anda selalu dapat menyetel format tanggal secara terpisah ke bahasa jika perlu.

sys.dm_exec_requests

sys.dm_exec_requests view memungkinkan Anda untuk mengambil bahasa untuk proses pengguna tertentu. Dalam hal ini kita dapat menggunakan @@SPID untuk menentukan proses pengguna saat ini.

SELECT r.language
FROM master.sys.dm_exec_requests r
WHERE r.session_id = @@SPID;

Hasil:

us_english

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks salah di dekat 'GO'

  2. Manfaat Menggunakan Notasi Posisi Ordinal SQL?

  3. Cara membuat Unique Constraint pada Kolom untuk Tabel yang sudah ada - Tutorial SQL Server / TSQL Part 97

  4. Antarmuka Jaringan SQL Server:String koneksi tidak valid [87]

  5. Menerapkan Failover di MS SQL Server 2017 Standard