sql >> データベース >  >> RDS >> Sqlserver

APP_NAME()を使用して、SQLServerの現在のセッションのアプリケーション名を取得します

    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
    

    1. ブール値のメンバー関数execute()の呼び出し

    2. ループなしのキーによる多次元配列の値の合計

    3. PostgreSQLリバースLIKE

    4. mysql、列名を繰り返し処理します