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

3 Cara Mendapatkan Bahasa Sesi Saat Ini di SQL Server (T-SQL)

Ketika login baru dibuat di SQL Server, itu ditetapkan sebagai bahasa default. Bahasa ini digunakan untuk pesan sistem dan format tanggal/waktu. Bahasa ini akan digunakan sebagai bahasa default setiap kali login tersebut terhubung ke SQL Server (tetapi juga dapat diubah ke bahasa lain dalam sesi).

Jika Anda ingin mengetahui bahasa yang ditetapkan untuk sesi saat ini, Anda dapat menjalankan salah satu opsi di halaman ini.

Opsi 1:Fungsi Konfigurasi @@LANGUAGE

Opsi pertama untuk mendapatkan bahasa sesi saat ini adalah dengan menggunakan @@LANGUAGE fungsi skalar. Cukup gunakan sebagai bagian dari SELECT pernyataan.

Seperti ini:

SELECT @@LANGUAGE;

Hasil:

us_english

Opsi 2:Perintah DBCC USEROPTIONS

Anda juga dapat menjalankan DBCC USEROPTIONS untuk mengembalikan bahasa saat ini, serta opsi lain untuk koneksi saat ini.

Seperti 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 |
+-------------------------+----------------+

Opsi 3:Tampilan  sys.dm_exec_requests

Opsi ini sedikit berbeda dengan dua opsi sebelumnya karena tampilan sistem ini mengembalikan informasi pada tingkat permintaan individual (ini mengembalikan informasi tentang setiap permintaan yang dijalankan di SQL Server). Anda dapat mempersempitnya ke permintaan saat ini (yang akan menjadi SELECT pernyataan yang Anda gunakan untuk menanyakan tampilan).

Tampilan ini mengembalikan jumlah kolom yang relatif besar, jadi jika Anda hanya tertarik pada bahasanya, Anda dapat memilih kolom itu saja.

Berikut cara mengembalikan bahasa yang digunakan dalam proses pengguna saat ini:

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

Hasil:

+------------+
| language   |
|------------|
| us_english |
+------------+

Anda selalu dapat mengubah bahasa untuk sesi saat ini. Untuk mengetahui caranya, lihat Cara Mengatur Bahasa Saat Ini di SQL Server (T-SQL).

Perhatikan juga bahwa beberapa fungsi T-SQL bawaan menerima argumen untuk menentukan bahasa/budaya yang akan digunakan pada tingkat kueri tertentu. Misalnya PARSE() fungsi memungkinkan Anda untuk menentukan budaya yang akan digunakan untuk kueri (atau bahkan bagian dari kueri) yang menentukan bagaimana string yang diberikan diformat (sebagai contoh, lihat Cara Mengonversi String ke Tanggal/Waktu di SQL Server menggunakan PARSE( )).

Bahasa Default

Perhatikan bahwa pengguna juga dapat memiliki bahasa default yang berbeda dengan bahasa saat ini. Jika mereka menggunakan SET LANGUAGE pernyataan untuk mengubah ke bahasa lain, bahasa default mereka akan tetap sebagai bahasa default mereka, meskipun bahasa sesi saat ini telah berubah.

Untuk menemukan bahasa default untuk pengguna/login/peran, lihat Cara Menemukan Bahasa Default Pengguna 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. JPA SQL Server Tidak ada pemetaan Dialek untuk tipe JDBC:-9

  2. Menemukan urutan simpul dalam dokumen XML di SQL Server

  3. Cara Memperbaiki "Skema partisi '...' tidak memiliki filegroup yang digunakan berikutnya" di SQL Server

  4. Ubah Notifikasi dengan Sql Server 2008

  5. 3 Cara Mendaftar Semua Prosedur Tersimpan di Database SQL Server