In SQL Server können Sie APP_NAME()
verwenden -Funktion, um den Anwendungsnamen für die aktuelle Sitzung abzurufen. Dies setzt voraus, dass die Anwendung diesen Namenswert festlegt.
Sie können diese Funktion verwenden, um zwischen verschiedenen Anwendungen zu unterscheiden, um unterschiedliche Aktionen für diese Anwendungen auszuführen.
Beachten Sie, dass der Client den Anwendungsnamen bereitstellt, sodass das von dieser Funktion zurückgegebene Ergebnis einfach den Namen widerspiegelt, den der Client bereitstellt. Aus diesem Grund rät Microsoft davon ab, diese Funktion für Sicherheitsüberprüfungen zu verwenden.
Syntax
Die Funktion benötigt keine Argumente, daher lautet ihre Syntax wie folgt:
APP_NAME ( )
Beispiel 1 – Ergebnis in Azure Data Studio
Hier ist das Ergebnis, das ich erhalte, wenn ich Azure Data Studio verwende.
SELECT APP_NAME( ) AS Result;
Ergebnis:
+--------------+ | Result | |--------------| | azdata-Query | +--------------+
Beispiel 2 – Ergebnis in mssql-cli
Hier ist das Ergebnis, das ich erhalte, wenn ich die mssql-cli-Befehlszeilenschnittstelle verwende.
SELECT APP_NAME( ) AS Result;
Ergebnis:
+-----------------------------------+ | Result | |-----------------------------------| | Core .Net SqlClient Data Provider | +-----------------------------------+
Beispiel 3 – Verwendung von APP_NAME() in einer bedingten Anweisung
Hier ist ein Beispiel für die Verwendung von APP_NAME()
in einer bedingten Anweisung, um je nach verwendeter Anwendung ein anderes Datumsformat bereitzustellen.
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);
Ergebnis in Azure Data Studio:
Application: azdata-Query Date: 2019/12/06
Ergebnis in mssql-cli:
Application: Core .Net SqlClient Data Provider Date: 06/12/2019