SQL Serverでは、APP_NAME()
を使用できます 現在のセッションのアプリケーション名を取得する関数。これは、アプリケーションがその名前の値を設定することを前提としています。
この関数を使用して、さまざまなアプリケーションに対してさまざまなアクションを実行する方法として、さまざまなアプリケーションを区別できます。
クライアントがアプリケーション名を提供するため、この関数によって返される結果は、クライアントが提供する名前を反映しているだけであることに注意してください。このため、Microsoftは、この関数をセキュリティチェックに使用しないことをお勧めします。
構文
この関数は引数を必要としないため、構文は次のようになります。
APP_NAME ( )
例1-AzureDataStudioでの結果
AzureDataStudioを使用したときに得られる結果は次のとおりです。
SELECT APP_NAME( ) AS Result;
結果:
+--------------+ | Result | |--------------| | azdata-Query | +--------------+
例2–結果はmssql-cli
これが、mssql-cliコマンドラインインターフェイスを使用したときに得られる結果です。
SELECT APP_NAME( ) AS Result;
結果:
+-----------------------------------+ | Result | |-----------------------------------| | Core .Net SqlClient Data Provider | +-----------------------------------+
例3–条件ステートメントでのAPP_NAME()の使用
APP_NAME()
の使用例を次に示します。 使用されているアプリケーションに応じて異なる日付形式を提供するための条件付きステートメント。
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);
Azure Data Studioでの結果:
Application: azdata-Query Date: 2019/12/06
結果はmssql-cli:
Application: Core .Net SqlClient Data Provider Date: 06/12/2019