sql >> Database teknologi >  >> RDS >> Sqlserver

Fjern polstring, når du sender forespørgselsresultater i en e-mail fra SQL Server (T-SQL)

Når du bruger sp_send_dbmail gemt procedure til at sende e-mails fra SQL Server, har du mulighed for at tilføje forespørgselsresultater til e-mailen.

Når du gør dette, kan du opleve, at uønsket polstring er blevet tilføjet til nogle kolonner. Heldigvis kan du fjerne denne udfyldning med @query_result_no_padding argument.

Før

Her er et eksempel på, hvordan resultaterne kunne se ud med polstring.

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 dette tilfælde foregår der så meget udfyldning, at alt ombrydes til næste linje, og overskrifterne stemmer ikke overens med dataene.

Efter

Her er et eksempel på, hvordan resultaterne ser ud, efter at jeg har fjernet polstringen.

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. Nye drivere til SQL Server ... Hvad du behøver at vide

  2. Sådan fungerer Ceiling() i PostgreSQL

  3. Hvordan importerer jeg en .sql-fil i mysql-databasen ved hjælp af PHP?

  4. Hvordan finder du diskstørrelsen på en Postgres / PostgreSQL-tabel og dens indekser