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

Sử dụng APP_NAME () để lấy tên ứng dụng của phiên hiện tại trong SQL Server

Trong SQL Server, bạn có thể sử dụng APP_NAME() chức năng lấy tên ứng dụng cho phiên hiện tại. Điều này giả định rằng ứng dụng đặt giá trị tên đó.

Bạn có thể sử dụng chức năng này để phân biệt giữa các ứng dụng khác nhau, như một cách để thực hiện các hành động khác nhau cho các ứng dụng đó.

Lưu ý rằng máy khách cung cấp tên ứng dụng và do đó kết quả trả về bởi hàm này chỉ phản ánh bất kỳ tên nào mà máy khách cung cấp. Vì lý do này, Microsoft khuyên rằng không nên sử dụng chức năng này để kiểm tra bảo mật.

Cú pháp

Hàm không yêu cầu bất kỳ đối số nào, vì vậy cú pháp của nó như sau:

APP_NAME  ( )

Ví dụ 1 - Kết quả trong Azure Data Studio

Đây là kết quả tôi nhận được khi sử dụng Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Kết quả:

+--------------+
| Result       |
|--------------|
| azdata-Query |
+--------------+

Ví dụ 2 - Kết quả là mssql-cli

Đây là kết quả tôi nhận được khi sử dụng giao diện dòng lệnh mssql-cli.

SELECT APP_NAME( ) AS Result;

Kết quả:

+-----------------------------------+
| Result                            |
|-----------------------------------|
| Core .Net SqlClient Data Provider |
+-----------------------------------+

Ví dụ 3 - Sử dụng APP_NAME () trong câu lệnh có điều kiện

Dưới đây là một ví dụ về việc sử dụng APP_NAME() trong một câu lệnh có điều kiện để cung cấp một định dạng ngày khác tùy thuộc vào ứng dụng đang được sử dụng.

IF APP_NAME() = 'azdata-Query'  
  PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 111);
ELSE IF APP_NAME() = 'Core .Net SqlClient Data Provider' 
  PRINT 'Application: ' + APP_NAME() + char(10) + 'Date: ' + CONVERT ( varchar(100) , GETDATE(), 103);

Kết quả trong Azure Data Studio:

Application: azdata-Query
Date: 2019/12/06

Kết quả là mssql-cli:

Application: Core .Net SqlClient Data Provider
Date: 06/12/2019

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo một bảng được phân vùng trong SQL Server (T-SQL)

  2. Thay thế lần xuất hiện đầu tiên của chuỗi con trong một chuỗi trong SQL

  3. Chèn hàng loạt với bộ định tính văn bản trong SQL Server

  4. Cách xác định vị trí công việc tác nhân máy chủ SQL trong Azure Data Studio

  5. Các cách theo dõi cơ sở dữ liệu đã xóa trong SQL Server