sql >> Databasteknik >  >> RDS >> Sqlserver

Ta bort utfyllnad när du skickar frågeresultat i ett e-postmeddelande från SQL Server (T-SQL)

När du använder sp_send_dbmail lagrad procedur för att skicka e-post från SQL Server, har du möjlighet att lägga till frågeresultat till e-postmeddelandet.

När du gör detta kan du upptäcka att oönskad utfyllnad har lagts till i vissa kolumner. Lyckligtvis kan du eliminera denna utfyllnad med @query_result_no_padding argument.

Före

Här är ett exempel på hur resultaten kan se ut med stoppning.

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

Resultat:

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)

I det här fallet är det så mycket utfyllnad att allt går över till nästa rad, och rubrikerna stämmer inte överens med data.

Efter

Här är ett exempel på hur resultatet ser ut efter att jag har tagit bort stoppningen.

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

Resultat:

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. LOCALTIME Exempel – MySQL

  2. Laddar data från en textfil till en tabell i oracle

  3. Sök text i lagrad procedur i SQL Server

  4. Hur man listar tabell främmande nycklar