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

Cara Mengatur Bahasa Saat Ini di SQL Server (T-SQL)

Di SQL Server, Anda dapat mengatur bahasa yang akan digunakan untuk sesi saat ini. Pengaturan bahasa saat ini menentukan bahasa yang digunakan pada semua pesan sistem, serta format tanggal/waktu yang akan digunakan.

Artikel ini menunjukkan cara menggunakan T-SQL untuk menyetel lingkungan bahasa saat ini di SQL Server.

Sintaks

Sintaks untuk mengatur bahasa saat ini seperti ini:

SET LANGUAGE { [ N ] 'language' | @language_var }

Dimana [N]'language' | @language_var adalah nama bahasa yang disimpan di sys.syslanguages tampilan kompatibilitas sistem. Argumen ini dapat berupa Unicode atau DBCS yang dikonversi ke Unicode.

Untuk menentukan bahasa di Unicode, gunakan N 'bahasa'. Jika ditetapkan sebagai variabel, variabel harus dari nama sistem tipe data (nama sistem tipe data digunakan untuk kolom tabel, variabel, dan parameter prosedur tersimpan yang menyimpan nama objek).

Contoh 1 – Menyetel Bahasa

Berikut ini contoh pengaturan bahasa untuk sesi saat ini ke Inggris:

SET LANGUAGE British;

Hasil:

Changed language setting to British.

Berikut ini contoh pengaturan bahasa untuk sesi saat ini ke bahasa Jerman:

SET LANGUAGE German;

Hasil:

Die Spracheneinstellung wurde in Deutsch geändert.

Jadi kita dapat melihat bahwa output sudah dalam bahasa yang baru ditentukan.

Contoh 2 – Menjalankan Kueri

Mengubah bahasa berdampak pada bagaimana tanggal diformat. Berikut ini contoh untuk menunjukkan apa yang saya maksud.

Pertama, kita ubah bahasanya menjadi British , lalu jalankan kueri untuk mengonversi string menjadi tanggal tipe data:

SET LANGUAGE British;
SELECT CONVERT(date, '09/01/2030') AS 'Convert';

Hasil:

+------------+
| Convert    |
|------------|
| 2030-01-09 |
+------------+
Changed language setting to British.

Dalam hal ini, tanggal tersebut diterjemahkan sebagai 9 Januari.

Kemudian kita ubah bahasanya menjadi us_English dan jalankan kueri yang sama:

SET LANGUAGE us_english;
SELECT CONVERT(date, '09/01/2030') AS 'Convert';

Hasil:

+------------+
| Convert    |
|------------|
| 2030-09-01 |
+------------+
Changed language setting to us_english.

Jadi dalam hal ini, tanggal tersebut diterjemahkan sebagai 1 September, karena pengaturan bahasa yang baru.

Menyetel Bahasa di Tingkat Kueri

Beberapa fungsi T-SQL memungkinkan Anda untuk menentukan bahasa/budaya yang akan digunakan pada tingkat kueri. Misalnya, PARSE() menerima argumen opsional yang digunakan untuk menentukan bagaimana string yang disediakan diformat. Ini memungkinkan Anda menyetel bahasa/budaya untuk digunakan hanya dalam kueri tersebut (dan bahkan bagian kueri yang berbeda) tanpa perlu mengubah setelan bahasa untuk sesi saat ini.

Berikut ini contoh untuk menunjukkan apa yang saya maksud:

SELECT 
    PARSE('01/06/2018' AS date USING 'en-US') AS 'en-US',
    PARSE('01/06/2018' AS date USING 'en-GB') AS 'en-GB';

Hasil:

+------------+------------+
| en-US      | en-GB      |
|------------+------------|
| 2018-01-06 | 2018-06-01 |
+------------+------------+

Jika Anda tidak memberikan argumen ini, bahasa sesi saat ini akan digunakan.

Temukan Bahasa Saat Ini

Anda dapat menjalankan pernyataan berikut untuk mengembalikan bahasa yang sedang digunakan:

SELECT @@LANGUAGE;

Untuk opsi lainnya, lihat 3 Cara Mendapatkan Bahasa Sesi Saat Ini di SQL Server (T-SQL).

Temukan Bahasa yang Tersedia

Anda dapat menjalankan kode berikut untuk mengembalikan daftar bahasa yang tersedia:

EXEC sp_helplanguage;

Ini mengembalikan daftar semua bahasa.

Untuk mempersempitnya ke bahasa tertentu, tambahkan nama bahasa. Seperti ini:

EXEC sp_helplanguage Spanish;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengembalikan Daftar Email yang Dikirim dari SQL Server Database Mail (T-SQL)

  2. Bagaimana cara melewatkan variabel nol ke Prosedur Tersimpan SQL dari kode C#.net

  3. Bagaimana saya bisa memanggil Prosedur Tersimpan SQL menggunakan EntityFramework 7 dan Asp.Net 5

  4. Agregat bitwise-ATAU dalam subquery

  5. Kumpulkan Data Kinerja Menggunakan Alat SQLDiag | Pemecahan Masalah Kinerja SQL Server -6