यदि आपने कभी किसी क्वेरी के परिणामों को ईमेल करने के लिए SQL सर्वर के डेटाबेस मेल का उपयोग किया है, तो आपने देखा होगा कि परिणाम डिफ़ॉल्ट रूप से एक स्थान से अलग होते हैं।
यह ठीक है यदि आप एक स्थान-पृथक परिणाम सेट चाहते हैं, लेकिन क्या होगा यदि आप इसे अल्पविराम से अलग करना चाहते हैं?
सौभाग्य से आप @query_result_separator
. का उपयोग कर सकते हैं ऐसा करने के लिए तर्क। आप किसी भी विभाजक को निर्दिष्ट करने के लिए इस तर्क का उपयोग कर सकते हैं (जब तक यह एक char(1) . है )।
उदाहरण
विभाजक को अल्पविराम में बदलने का तरीका दिखाने के लिए यहां एक उदाहरण दिया गया है:
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';
परिणाम:
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)
ध्यान दें कि मैं @query_result_no_padding
. का भी उपयोग कर रहा हूं किसी भी पैडिंग को हटाने का तर्क जो परिणामों पर लागू हो सकता है।
आप @attach_query_result_as_file = 1
. का भी उपयोग कर सकते हैं यदि आवश्यक हो तो परिणामों को एक अलग फ़ाइल में संलग्न करने के लिए।
डिफ़ॉल्ट स्पेस सेपरेटर का उपयोग करने वाला एक उदाहरण
अगर मैं @query_result_separator = ','
. को हटा दूं उपरोक्त उदाहरण से भाग, मेरे परिणाम डिफ़ॉल्ट स्थान वर्ण द्वारा अलग किए गए हैं।
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';
परिणाम:
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)