Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използвайте APP_NAME(), за да получите името на приложението на текущата сесия в SQL Server

В SQL Server можете да използвате APP_NAME() функция, за да получите името на приложението за текущата сесия. Това предполага, че приложението задава това име.

Можете да използвате тази функция, за да правите разлика между различни приложения, като начин за извършване на различни действия за тези приложения.

Имайте предвид, че клиентът предоставя името на приложението и така резултатът, върнат от тази функция, просто отразява името, предоставено от клиента. Поради тази причина Microsoft съветва тази функция да не се използва за проверки на сигурността.

Синтаксис

Функцията не изисква никакви аргументи, така че синтаксисът й е така:

APP_NAME ( )

Пример 1 – Резултат в Azure Data Studio

Ето резултата, който получавам, когато използвам Azure Data Studio.

ИЗБЕРЕТЕ APP_NAME() КАТО резултат;

Резултат:

<пред>+--------------+| Резултат ||--------------|| azdata-Query |+--------------+

Пример 2 – Резултат в mssql-cli

Ето резултата, който получавам, когато използвам интерфейса на командния ред mssql-cli.

ИЗБЕРЕТЕ APP_NAME() КАТО резултат;

Резултат:

+---------------------------------+| Резултат ||----------------------------------|| Core .Net SqlClient доставчик на данни |+-----------------------------------+

Пример 3 – Използване на APP_NAME() в условен израз

Ето пример за използване на APP_NAME() в условно изявление, за да предостави различен формат на датата в зависимост от използваното приложение.

IF APP_NAME() ='azdata-Query' PRINT 'Приложение:' + APP_NAME() + char(10) + 'Дата:' + CONVERT ( varchar(100) , GETDATE(), 111);ELSE IF APP_NAME () ='Core .Net SqlClient Data Provider' PRINT 'Приложение:' + APP_NAME() + char(10) + 'Дата:' + CONVERT ( varchar(100) , GETDATE(), 103);

Резултат в Azure Data Studio:

Заявление:azdata-QueryDate:2019/12/06

Резултат в mssql-cli:

Приложение:Core .Net SqlClient Data ProviderДата:12.06.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. SQL Server:ИЗБЕРЕТЕ само редовете с MAX(DATE)

  2. Какво е „идентификатор от няколко части“ и защо не може да бъде обвързан?

  3. Базата данни не може да бъде отворена, защото е версия 782. Този сървър поддържа версия 706 и по-стара. Пътят за понижаване не се поддържа

  4. Какво представлява нулевият символен литерал в TSQL?

  5. Как да използвате логиката IF...THEN в SQL Server