sql >> Databasteknik >  >> RDS >> Sqlserver

Använd APP_NAME() för att hämta applikationsnamnet för den aktuella sessionen i SQL Server

I SQL Server kan du använda APP_NAME() funktion för att få applikationsnamnet för den aktuella sessionen. Detta förutsätter att applikationen anger det namnvärdet.

Du kan använda den här funktionen för att skilja mellan olika applikationer, som ett sätt att utföra olika åtgärder för dessa applikationer.

Observera att klienten anger applikationsnamnet, så resultatet som returneras av den här funktionen återspeglar helt enkelt vilket namn klienten ger. Av denna anledning rekommenderar Microsoft att den här funktionen inte ska användas för säkerhetskontroller.

Syntax

Funktionen kräver inga argument, så dess syntax ser ut så här:

APP_NAME  ( )

Exempel 1 – Resultat i Azure Data Studio

Här är resultatet jag får när jag använder Azure Data Studio.

SELECT APP_NAME( ) AS Result;

Resultat:

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

Exempel 2 – Resultat i mssql-cli

Här är resultatet jag får när jag använder kommandoradsgränssnittet mssql-cli.

SELECT APP_NAME( ) AS Result;

Resultat:

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

Exempel 3 – Använda APP_NAME() i ett villkorligt uttalande

Här är ett exempel på hur du använder APP_NAME() i ett villkorligt uttalande för att ange ett annat datumformat beroende på vilket program som används.

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);

Resultat i Azure Data Studio:

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

Resultat i mssql-cli:

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

  1. Kontrollera om en tabell har en TIMESTAMP-kolumn i SQL Server med OBJECTPROPERTY()

  2. Hur man beställer efter månadsnamn i SQLite

  3. MySQL välj med CONCAT-villkor

  4. convert_tz returnerar null