Als je ooit Database Mail van SQL Server hebt gebruikt om de resultaten van een query te e-mailen, is het je misschien opgevallen dat de resultaten standaard worden gescheiden door een spatie.
Dit is prima als u een door spaties gescheiden resultatenset wilt, maar wat als u wilt dat deze door komma's wordt gescheiden?
Gelukkig kun je de @query_result_separator
. gebruiken argument om dat te doen. U kunt dit argument gebruiken om elk scheidingsteken op te geven (zolang het een char(1) is ).
Voorbeeld
Hier is een voorbeeld om te demonstreren hoe u het scheidingsteken in een komma kunt veranderen:
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',
@query_result_separator = ',',
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
Resultaat:
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)
Merk op dat ik ook de @query_result_no_padding
. gebruik argument om eventuele opvulling te verwijderen die op de resultaten kan worden toegepast.
U kunt ook @attach_query_result_as_file = 1
. gebruiken om de resultaten indien nodig in een apart bestand bij te voegen.
Een voorbeeld met het standaard scheidingsteken voor spatie
Als ik de @query_result_separator = ','
. verwijder een deel van het bovenstaande voorbeeld zijn mijn resultaten gescheiden door het standaard spatieteken.
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',
@query_result_no_padding = 1,
@subject = 'Query results as discussed';
Resultaat:
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)