SQL सर्वर में, आप T-SQL SPACE()
. का उपयोग कर सकते हैं रिक्त स्थान की एक विशिष्ट संख्या उत्पन्न करने के लिए कार्य।
यह एक स्ट्रिंग के भीतर रिक्त स्थान जोड़ने के लिए आसान हो सकता है, उदाहरण के लिए, जब दो या अधिक स्ट्रिंग्स को संयोजित करते हैं।
जिस तरह से यह काम करता है, आप अपने लिए आवश्यक रिक्त स्थान प्रदान करते हैं, और यह ठीक उसी संख्या में रिक्त स्थान की एक स्ट्रिंग लौटाएगा।
सिंटैक्स
वाक्य रचना इस प्रकार है:
SPACE ( integer_expression )
जहां integer_expression एक सकारात्मक पूर्णांक है जो रिक्त स्थान की संख्या को इंगित करता है। यदि यह एक ऋणात्मक मान है, NULL
लौटा दिया गया है।
उदाहरण 1 - मूल उपयोग
यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है:
SELECT SPACE(40) AS Result;
परिणाम:
+------------------------------------------+ | Result | |------------------------------------------| | | +------------------------------------------+
यदि यह स्पष्ट नहीं है, तो इसके परिणामस्वरूप 40 रिक्त स्थान हैं।
उदाहरण 2 - रिक्तियों के साथ संयोजन
यह उदाहरण प्रभाव को थोड़ा बेहतर प्रदर्शित कर सकता है।
SELECT 'Keep' + SPACE(10) + 'away!' AS Result;
परिणाम:
+---------------------+ | Result | |---------------------| | Keep away! | +---------------------+
उदाहरण 3 - ऋणात्मक पूर्णांक मान
तर्क का सकारात्मक मूल्य होना चाहिए। यदि यह एक ऋणात्मक मान है, तो परिणाम NULL
है :
SELECT SPACE(-10) AS Result;
परिणाम:
+----------+ | Result | |----------| | NULL | +----------+
उदाहरण 4 - एक डेटाबेस उदाहरण
यहां SPACE()
का उपयोग करने का एक सरल उदाहरण दिया गया है डेटाबेस से वापस आने पर दो डेटाबेस कॉलम के बीच में जगह डालने के लिए:
USE Music; SELECT TOP(7) ArtistName + SPACE(5) + AlbumName AS 'Artist and Album' FROM Artists ar INNER JOIN Albums al ON ar.ArtistId = al.ArtistId INNER JOIN Genres g ON al.GenreId = g.GenreId WHERE g.Genre = 'Rock';
परिणाम:
+-------------------------------------------+ | Artist and Album | |-------------------------------------------| | Iron Maiden Powerslave | | AC/DC Powerage | | Devin Townsend Ziltoid the Omniscient | | Devin Townsend Casualties of Cool | | Devin Townsend Epicloud | | Iron Maiden Somewhere in Time | | Iron Maiden Piece of Mind | +-------------------------------------------+
1 या 2 स्पेस के बारे में क्या?
यह बहुत सारे रिक्त स्थान जोड़ने के लिए एक बढ़िया कार्य है, लेकिन यह कम संख्या में रिक्त स्थान को शामिल करते समय कोड पठनीयता में भी सुधार कर सकता है - खासकर यदि कोड में रिक्त स्थान जोड़ने के कई उदाहरण हैं।
SPACE()
का उपयोग करते समय आप देख सकते हैं कि एक पल में कितने रिक्त स्थान हैं, उन्हें गिनने की आवश्यकता नहीं है।
उदाहरण के लिए, देखें कि क्या आप बता सकते हैं कि निम्नलिखित में कितने स्थान हैं:
SELECT 'Keep' + ' ' + 'away!';
जाँच करने के लिए थोड़ा करीब देखने से पहले, आपकी पहली प्रतिक्रिया एक त्वरित अनुमान हो सकती है (जैसे, "2 या 3")। 100% सुनिश्चित होने के लिए, आपको स्पेस की संख्या गिनने के लिए संभवतः अपने कर्सर को स्पेस पर चलाना होगा।
अब निम्नलिखित कोड को देखें:
SELECT 'Keep' + SPACE(2) + 'away!';
अनुमान लगाने की जरूरत नहीं है। आप देख सकते हैं 2
सीधे कोड में लिखा है।
ऐसा कहने के बाद, मान एक चर के भीतर हो सकता है, ताकि आपका कोड इस तरह दिख सके:
SELECT 'Keep' + SPACE(@space_size) + 'away!';
जो स्पष्ट रूप से, कोई सुराग नहीं देता है कि कितने स्थान हैं (इसे देखे बिना)। हालाँकि, यदि आप पहले से ही @space_size
. का मान जानते हैं आपका जाना अच्छा है।
उदाहरण 5 - चर स्थान का आकार
यहां एक उदाहरण दिया गया है जो पिछले बिंदु को प्रदर्शित करता है।
यहां, रिक्त स्थान की संख्या एक चर के भीतर परिभाषित की गई है। इस मामले में वेरिएबल के मान को देखना आसान है, क्योंकि यह SPACE()
से ठीक पहले की लाइन में परिभाषित है। समारोह (जाहिर है, यह हमेशा ऐसा नहीं होगा):
DECLARE @space_size int SET @space_size = 2 SELECT 'Keep' + SPACE(@space_size) + 'away!' AS Result GO
परिणाम:
+-------------+ | Result | |-------------| | Keep away! | +-------------+
यूनिकोड या 8000 से अधिक स्पेस?
Microsoft कहता है कि, यूनिकोड डेटा में रिक्त स्थान शामिल करने के लिए, या 8000 से अधिक वर्ण रिक्त स्थान वापस करने के लिए, आपको REPLICATE
का उपयोग करना चाहिए SPACE
. के बजाय ।