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

SQL Server(T-SQL)から電子メールでクエリ結果を送信するときにパディングを削除する

    sp_send_dbmailを使用する場合 SQL Serverから電子メールを送信するためのストアドプロシージャでは、クエリ結果を電子メールに追加するオプションがあります。

    これを行うと、一部の列に不要なパディングが追加されている場合があります。幸い、このパディングは@query_result_no_paddingで削除できます。 引数。

    これは、パディングを使用した場合の結果の例です。

    EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'DB Admin Profile',  
        @recipients = '[email protected]',  
        @body = 'Potential candidates for an Admin job, perhaps?',
        @query = 'SELECT TOP(5) * FROM Artists;',
        @execute_query_database = 'Music',
        @subject = 'Query results as discussed';

    結果:

    Potential candidates for an Admin job, perhaps?
    ArtistId    ArtistName                                                
               ActiveFrom      
    ----------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------- ----------------
             1 Iron Maiden                                                   
                     1975-12-25
             2 AC/DC                                                          
                     1973-01-11
             3 Allan Holdsworth                                           
                     1969-01-01
             4 Buddy Rich                                                    
                     1919-01-01
             5 Devin Townsend                                            
                     1993-01-01
    
    (5 rows affected)

    この場合、非常に多くのパディングが行われているため、すべてが次の行に折り返され、ヘッダーがデータと一致しません。

    パディングを削除した後の結果の例を次に示します。

    EXEC msdb.dbo.sp_send_dbmail
        @profile_name = 'DB Admin Profile',  
        @recipients = '[email protected]',  
        @body = 'Potential candidates for an Admin job, perhaps?',
        @query = 'SELECT TOP(5) * FROM Artists;',
        @execute_query_database = 'Music',
        @subject = 'Query results as discussed';

    結果:

    Potential candidates for an Admin job, perhaps?
    ArtistId ArtistName ActiveFrom
    -------- ---------- ----------
    1 Iron Maiden 1975-12-25
    2 AC/DC 1973-01-11
    3 Allan Holdsworth 1969-01-01
    4 Buddy Rich 1919-01-01
    5 Devin Townsend 1993-01-01
    
    (5 rows affected)


    1. ストレージエンジンの選択:Aria

    2. ClusterControlを使用したVitessとMySQLの実行

    3. SQLServerデータベースのすべてのチェック制約を無効にする方法-SQLServer/TSQLチュートリアルパート87

    4. 日付範囲の比較