मारियाडीबी में, TRIM()
एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो किसी स्ट्रिंग के प्रारंभ या अंत से वर्णों को हटाता है।
डिफ़ॉल्ट रूप से यह अग्रणी और पिछली जगहों को हटा देता है, लेकिन आप निर्दिष्ट कर सकते हैं कि कौन सा वर्ण निकालना है, साथ ही आप इसे किस पक्ष से हटाना चाहते हैं।
सिंटैक्स
TRIM()
फ़ंक्शन का उपयोग निम्नानुसार किया जा सकता है:
TRIM([remstr FROM] str)
या:
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
जहां str
किसी भी पिछली जगह को हटाने के लिए स्ट्रिंग है, और remstr
निकालने के लिए स्ट्रिंग है।
अगर remstr
प्रदान नहीं किया गया है, तो TRIM()
रिक्त स्थान हटाता है।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT
' Caribbean Island ' AS "Untrimmed",
TRIM(' Caribbean Island ') AS "Trimmed";
परिणाम:
+------------------------+------------------+ | Untrimmed | Trimmed | +------------------------+------------------+ | Caribbean Island | Caribbean Island | +------------------------+------------------+
यह उदाहरण सबसे बुनियादी सिंटैक्स का उपयोग करता है। हमने केवल ट्रिम करने के लिए स्ट्रिंग प्रदान की थी। हमने निर्दिष्ट नहीं किया कि किस वर्ण/चरित्र को ट्रिम करना है, और इसलिए सभी रिक्त स्थान स्ट्रिंग के दोनों ओर से ट्रिम किए गए थे।
हम यह भी देख सकते हैं कि स्ट्रिंग के भीतर का स्थान बरकरार रहता है।
BOTH
तर्क
डिफ़ॉल्ट रूप से, TRIM()
स्ट्रिंग के दोनों किनारों को ट्रिम करता है। हालांकि, आप स्पष्ट रूप से BOTH
specify निर्दिष्ट कर सकते हैं अगर आप चाहें:
SELECT
' Caribbean Island ' AS "Untrimmed",
TRIM(BOTH FROM ' Caribbean Island ') AS "Trimmed";
परिणाम:
+------------------------+------------------+ | Untrimmed | Trimmed | +------------------------+------------------+ | Caribbean Island | Caribbean Island | +------------------------+------------------+
हमें पिछले उदाहरण जैसा ही परिणाम मिलता है।
द LEADING
तर्क
LEADING
निर्दिष्ट करना ट्रिम ऑपरेशन को केवल स्ट्रिंग की शुरुआत तक सीमित करता है:
SELECT
' Caribbean Island ' AS "Untrimmed",
TRIM(LEADING FROM ' Caribbean Island ') AS "Trimmed";
परिणाम:
+------------------------+---------------------+ | Untrimmed | Trimmed | +------------------------+---------------------+ | Caribbean Island | Caribbean Island | +------------------------+---------------------+
हम देख सकते हैं कि छंटनी की गई स्ट्रिंग के दाईं ओर रिक्त स्थान अभी भी मौजूद हैं। केवल बायां भाग काटा गया था।
द TRAILING
तर्क
TRAILING
निर्दिष्ट करना ट्रिम ऑपरेशन को केवल स्ट्रिंग की शुरुआत तक सीमित करता है:
SELECT
' Caribbean Island ' AS "Untrimmed",
TRIM(TRAILING FROM ' Caribbean Island ') AS "Trimmed";
परिणाम:
+------------------------+---------------------+ | Untrimmed | Trimmed | +------------------------+---------------------+ | Caribbean Island | Caribbean Island | +------------------------+---------------------+
इस बार, केवल दाहिने हिस्से को काटा गया था। छंटनी की गई स्ट्रिंग के बाईं ओर रिक्तियां अभी भी मौजूद हैं।
ट्रिम करने के लिए एक स्ट्रिंग निर्दिष्ट करें
यह निर्दिष्ट करने का एक उदाहरण है कि किस वर्ण को ट्रिम करना है:
SELECT
'...mountain...' AS "Untrimmed",
TRIM('.' FROM '...mountain...') AS "Trimmed";
परिणाम:
+----------------+----------+ | Untrimmed | Trimmed | +----------------+----------+ | ...mountain... | mountain | +----------------+----------+
यह एक ही चरित्र होना जरूरी नहीं है। आप ट्रिम करने के लिए कोई भी स्ट्रिंग निर्दिष्ट कर सकते हैं:
SELECT
TRIM('.' FROM '.+.mountain.+.') AS "1",
TRIM('.+' FROM '.+.mountain.+.') AS "2",
TRIM('+.' FROM '.+.mountain.+.') AS "3",
TRIM('.+.' FROM '.+.mountain.+.') AS "4";
परिणाम:
+--------------+--------------+--------------+----------+ | 1 | 2 | 3 | 4 | +--------------+--------------+--------------+----------+ | +.mountain.+ | .mountain.+. | .+.mountain. | mountain | +--------------+--------------+--------------+----------+
आप चाहें तो शब्द के कुछ हिस्से को ट्रिम भी कर सकते हैं:
SELECT TRIM('moun' FROM 'mountain');
परिणाम:
+------------------------------+ | TRIM('moun' FROM 'mountain') | +------------------------------+ | tain | +------------------------------+
हम BOTH
. का भी उपयोग कर सकते हैं , LEADING
और TRAILING
स्ट्रिंग को ट्रिम करने के लिए निर्दिष्ट करते समय तर्क।
उदाहरण:
SELECT
TRIM(BOTH '.' FROM '...mountain...') AS "Both",
TRIM(LEADING '.' FROM '...mountain...') AS "Leading",
TRIM(TRAILING '.' FROM '...mountain...') AS "Trailaing";
परिणाम:
+----------+-------------+-------------+ | Both | Leading | Trailaing | +----------+-------------+-------------+ | mountain | mountain... | ...mountain | +----------+-------------+-------------+
अशक्त तर्क
यदि एक null
दिया गया है तर्क, परिणाम null
है :
SELECT TRIM(null);
परिणाम:
+------------+ | TRIM(null) | +------------+ | NULL | +------------+
Oracle मोड
जब नहीं ओरेकल मोड में चल रहा है, यदि परिणाम खाली है (यानी इसकी लंबाई शून्य है) तो परिणाम एक खाली स्ट्रिंग है।
हालाँकि, Oracle मोड में चलने पर, परिणाम null
. होता है ।
यहाँ यह डिफ़ॉल्ट मोड में है (अर्थात नहीं Oracle मोड में):
SELECT TRIM('');
परिणाम:
+----------+ | TRIM('') | +----------+ | | +----------+
आइए अब Oracle मोड में स्विच करें:
SET SQL_MODE=ORACLE;
और कोड को फिर से चलाएँ:
SELECT TRIM('');
परिणाम:
+----------+ | TRIM('') | +----------+ | NULL | +----------+
ऐसा करने का एक वैकल्पिक तरीका भी है। Oracle मोड में स्विच करने के बजाय, आप TRIM_ORACLE()
. का उपयोग कर सकते हैं फ़ंक्शन नाम के रूप में।
आइए डिफ़ॉल्ट मोड पर वापस जाएं:
SET SQL_MODE=DEFAULT;
और अब TRIM_ORACLE()
चलाएं :
SELECT TRIM_ORACLE('');
परिणाम:
+-----------------+ | TRIM_ORACLE('') | +-----------------+ | NULL | +-----------------+
अनुपलब्ध तर्क
कॉलिंग TRIM()
बिना तर्क के त्रुटि उत्पन्न होती है:
SELECT TRIM();
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।