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

Ubah Bahasa untuk Sesi Saat Ini di SQL Server

Anda mungkin tahu bahwa ketika Anda terhubung ke SQL Server, bahasa untuk sesi itu biasanya ditentukan oleh login Anda. Ketika login dibuat, itu diberikan bahasa default.

Bahasa sesi menentukan waktu tanggal format dan pesan sistem.

Meskipun Anda tentu saja dapat mengubah bahasa default untuk login, Anda juga dapat mengganti bahasa default dalam satu sesi jika perlu. Anda dapat beralih antar bahasa jika diperlukan. Atau Anda bahkan dapat membuka dua koneksi terpisah dan menerapkan bahasa yang berbeda untuk masing-masing koneksi.

Artikel ini menjelaskan cara mengubah bahasa dalam satu sesi.

SETEL BAHASA

SET LANGUAGE pernyataan memungkinkan Anda untuk mengatur lingkungan bahasa untuk sesi saat ini.

Ini contohnya.

SET LANGUAGE British;

Itu menetapkan bahasa saat ini ke Inggris.

Saya dapat memverifikasi ini dengan kueri berikut.

SELECT @@LANGUAGE;

Hasil:

British

Format Tanggal

Anda harus tahu bahwa mengubah bahasa dalam satu sesi juga mengubah format tanggal.

Berikut kueri lain untuk mengilustrasikan hal ini.

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

Perhatikan bahwa dateformat adalah dmy dan datefirst adalah 1 . Ini sejalan dengan format tanggal Inggris.

Inilah yang terjadi jika saya mengubah bahasa menjadi us_english .

SET LANGUAGE us_english; 
 ....... DBCC USEROPTIONS;                                                             
 Time: 0.738s
 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 |
 +-------------------------+----------------+  

Perhatikan bahwa format tanggal secara implisit diubah untuk mematuhi format tanggal AS.

Jika Anda merasa ini bermasalah, Anda selalu dapat mengubah format tanggal tanpa mengubah bahasa.

Setel Bahasa di Tingkat Kueri

Beberapa fungsi menerima argumen "budaya" yang memungkinkan Anda menentukan bahasa yang akan digunakan untuk kueri itu saja. Dengan kata lain, Anda dapat mengubah bahasa ad-hoc dalam kueri, tanpa perlu mengubah bahasa sesi Anda saat ini.

Ini contohnya.

SET LANGUAGE us_english;
SELECT 
  FORMAT(GETDATE(), 'd') AS [My Default],
  FORMAT(GETDATE(), 'd', 'en-GB') AS [British],
  FORMAT(GETDATE(), 'd', 'de-DE') AS [German];

Hasil:

+--------------+------------+------------+
 | My Default   | British    | German     |
 |--------------+------------+------------|
 | 3/29/2020    | 29/03/2020 | 29.03.2020 |
 +--------------+------------+------------+  

Dapatkan Daftar Bahasa

Anda dapat menjalankan kueri berikut untuk mendapatkan daftar bahasa yang tersedia di SQL Server.

EXEC sp_helplanguage;

Anda juga dapat mempersempitnya ke bahasa tertentu dengan menambahkannya dengan nama bahasa atau alias.

EXEC sp_helplanguage Italian;

  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 optimal untuk menggabungkan/menggabungkan string

  2. Cara mendapatkan Tabel Induk, Tabel Referensi, Nama dan Kolom Batasan Kunci Asing di SQL Server - Tutorial SQL Server / TSQL Part 71

  3. 10 SP_EXECUTESQL Gotchas yang Harus Dihindari untuk SQL Dinamis yang Lebih Baik

  4. Memperkenalkan Platform SaaS Pertama di Dunia untuk Memberikan Diagnostik Mendalam untuk Lingkungan SQL Server Hibrida

  5. TAMPILKAN DATABASES Setara di SQL Server – sp_databases