Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

3 cách để lấy ngôn ngữ của phiên hiện tại trong SQL Server (T-SQL)

Khi một thông tin đăng nhập mới được tạo trong SQL Server, nó sẽ được gán một ngôn ngữ mặc định. Ngôn ngữ này được sử dụng cho các thông báo hệ thống và các định dạng ngày / giờ. Ngôn ngữ này sẽ được sử dụng làm ngôn ngữ mặc định bất cứ khi nào thông tin đăng nhập đó kết nối với SQL Server (nhưng nó cũng có thể được thay đổi sang ngôn ngữ khác trong phiên).

Nếu bạn muốn tìm ra ngôn ngữ được chỉ định cho phiên hiện tại, bạn có thể chạy một trong các tùy chọn trên trang này.

Tùy chọn 1:Chức năng cấu hình LANGUAGE @@

Tùy chọn đầu tiên để nhận ngôn ngữ của phiên hiện tại là sử dụng @@LANGUAGE hàm vô hướng. Chỉ cần sử dụng nó như một phần của SELECT tuyên bố.

Như thế này:

SELECT @@LANGUAGE;

Kết quả:

us_english

Tùy chọn 2:Lệnh DBCC USEROPTIONS

Bạn cũng có thể chạy DBCC USEROPTIONS để trả về ngôn ngữ hiện tại, cũng như các tùy chọn khác cho kết nối hiện tại.

Như thế này:

DBCC USEROPTIONS;

Kết quả:

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

Tùy chọn 3:Chế độ xem sys.dm_exec_requests

Tùy chọn này hơi khác so với hai tùy chọn trước đó ở chỗ chế độ xem hệ thống này trả về thông tin ở cấp độ yêu cầu riêng lẻ (nó trả về thông tin về từng yêu cầu đang thực thi trong SQL Server). Bạn có thể thu hẹp nó xuống yêu cầu hiện tại (sẽ là SELECT câu lệnh mà bạn truy vấn chế độ xem).

Chế độ xem này trả về một số lượng cột tương đối lớn, vì vậy nếu bạn chỉ quan tâm đến ngôn ngữ, bạn có thể chỉ chọn cột đó.

Dưới đây là cách trả lại ngôn ngữ đang được sử dụng trong quy trình người dùng hiện tại:

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

Kết quả:

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

Bạn luôn có thể thay đổi ngôn ngữ cho phiên hiện tại. Để tìm hiểu cách thực hiện, hãy xem Cách đặt ngôn ngữ hiện tại trong SQL Server (T-SQL).

Cũng lưu ý rằng một số hàm T-SQL có sẵn chấp nhận các đối số để chỉ định ngôn ngữ / văn hóa sẽ được sử dụng ở cấp truy vấn cụ thể. Ví dụ:PARSE() hàm cho phép bạn chỉ định văn hóa để sử dụng cho truy vấn (hoặc thậm chí là một phần của truy vấn) chỉ định cách định dạng chuỗi đã cho (ví dụ:hãy xem Cách chuyển đổi chuỗi thành ngày / giờ trong SQL Server bằng PARSE ( )).

Ngôn ngữ mặc định

Lưu ý rằng người dùng cũng có thể có ngôn ngữ mặc định khác với ngôn ngữ hiện tại. Nếu họ sử dụng SET LANGUAGE để thay đổi sang ngôn ngữ khác, ngôn ngữ mặc định của họ sẽ vẫn là ngôn ngữ mặc định của họ, ngay cả khi ngôn ngữ của phiên hiện tại đã thay đổi.

Để tìm ngôn ngữ mặc định cho người dùng / đăng nhập / vai trò, hãy xem Cách tìm ngôn ngữ mặc định của người dùng trong 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. Di chuyển Cơ sở dữ liệu Microsoft Access sang SQL Server

  2. T-SQL:Chọn cột dựa trên MAX (Cột khác)

  3. Đây là ba lý do tại sao bạn có thể thấy hoạt động cao điểm trong phiên bản SQL của bạn

  4. T-SQL Subquery Max (Date) và Joins

  5. Ràng buộc chỉ một bản ghi được đánh dấu là mặc định