खोज…


परिचय

स्ट्रिंग फ़ंक्शन स्ट्रिंग मानों पर कार्रवाई करते हैं और संख्यात्मक या स्ट्रिंग मान लौटाते हैं।

स्ट्रिंग फ़ंक्शंस का उपयोग करके, आप उदाहरण के लिए, डेटा को जोड़ सकते हैं, सबस्ट्रिंग निकाल सकते हैं, स्ट्रिंग्स की तुलना कर सकते हैं या स्ट्रिंग को सभी अपरकेस या लोअरकेस वर्णों में परिवर्तित कर सकते हैं।

वाक्य - विन्यास

  • CONCAT (string_value1, string_value2 [, string_valueN])
  • LTRIM (character_expression)
  • RTRIM (character_expression)
  • SUBSTRING (अभिव्यक्ति, शुरुआत, लंबाई)
  • ASCII (character_expression)
  • उत्तर दें (string_expression, integer_expression)
  • समीक्षा (string_expression)
  • UPPER (character_expression)
  • TRIM ([वर्ण से] स्ट्रिंग)
  • STRING_SPLIT (स्ट्रिंग, विभाजक)
  • STUFF (character_expression, start, length, replaceWith_expression)
  • रिपोर्ट (string_expression, string_pattern, string_replacement)

टिप्पणियों

स्ट्रिंग फ़ंक्शन, Transact-SQL / Microsoft के लिए संदर्भ

स्ट्रिंग फ़ंक्शन MySQL के लिए संदर्भ

स्ट्रिंग फ़ंक्शन PostgreSQL के लिए संदर्भ

खाली स्थानों को ट्रिम करें

ट्रिम का उपयोग चयन की शुरुआत या अंत में राइट-स्पेस को हटाने के लिए किया जाता है

MSSQL में एक भी TRIM()

SELECT LTRIM('  Hello  ') --returns 'Hello  '
SELECT RTRIM('  Hello  ') --returns '  Hello'
SELECT LTRIM(RTRIM('  Hello  ')) --returns 'Hello'

MySql और Oracle

SELECT TRIM('  Hello  ') --returns 'Hello'

CONCATENATE

इन (मानक एएनएसआई / आईएसओ) एसक्यूएल, स्ट्रिंग संघनन के लिए ऑपरेटर है || । यह सिंटैक्स SQL सर्वर को छोड़कर सभी प्रमुख डेटाबेस द्वारा समर्थित है:

SELECT 'Hello' || 'World' || '!'; --returns HelloWorld!

कई डेटाबेस स्ट्रिंग में शामिल होने के लिए एक CONCAT फ़ंक्शन का समर्थन करते हैं:

SELECT CONCAT('Hello', 'World'); --returns 'HelloWorld'

कुछ डेटाबेस दो से अधिक स्ट्रिंग्स में जुड़ने के लिए CONCAT का उपयोग करते हैं (Oracle नहीं):

SELECT CONCAT('Hello', 'World', '!'); --returns 'HelloWorld!'

कुछ डेटाबेस में, गैर-स्ट्रिंग प्रकारों को डाला या परिवर्तित किया जाना चाहिए:

SELECT CONCAT('Foo', CAST(42 AS VARCHAR(5)), 'Bar'); --returns 'Foo42Bar'

कुछ डेटाबेस (जैसे, ओरेकल) अंतर्निहित दोषरहित रूपांतरण करते हैं। उदाहरण के लिए, एक CONCAT एक पर CLOB और NCLOB एक पैदावार NCLOB । एक CONCAT एक संख्या है और एक पर varchar2 एक में परिणाम varchar2 , आदि .:

SELECT CONCAT(CONCAT('Foo', 42), 'Bar') FROM dual; --returns Foo42Bar

कुछ डेटाबेस गैर-मानक + ऑपरेटर का उपयोग कर सकते हैं (लेकिन अधिकांश में, + केवल संख्याओं के लिए काम करता है):

SELECT 'Foo' + CAST(42 AS VARCHAR(5)) + 'Bar';

SQL सर्वर <2012 पर, जहां CONCAT समर्थित नहीं है, + तार जोड़ने का एकमात्र तरीका है।

ऊपरी निचला

SELECT UPPER('HelloWorld') --returns 'HELLOWORLD'
SELECT LOWER('HelloWorld') --returns 'helloworld'

सबस्ट्रिंग

सिंटैक्स है: SUBSTRING ( string_expression, start, length ) । ध्यान दें कि SQL स्ट्रिंग्स 1-अनुक्रमित हैं।

SELECT SUBSTRING('Hello', 1, 2) --returns 'He'
SELECT SUBSTRING('Hello', 3, 3) --returns 'llo'

यह अक्सर अज्ञात लंबाई की एक स्ट्रिंग के अंतिम n अक्षर प्राप्त करने के लिए LEN() फ़ंक्शन के साथ संयोजन में उपयोग किया जाता है।

DECLARE @str1 VARCHAR(10) = 'Hello', @str2 VARCHAR(10) = 'FooBarBaz';
SELECT SUBSTRING(@str1, LEN(@str1) - 2, 3) --returns 'llo'
SELECT SUBSTRING(@str2, LEN(@str2) - 2, 3) --returns 'Baz'

विभाजित करें

एक चरित्र विभाजक का उपयोग करके एक स्ट्रिंग अभिव्यक्ति को विभाजित करता है। ध्यान दें कि STRING_SPLIT() एक टेबल-वैल्यू फ़ंक्शन है।

SELECT value FROM STRING_SPLIT('Lorem ipsum dolor sit amet.', ' ');

परिणाम:

value
-----
Lorem
ipsum
dolor
sit
amet.

सामग्री

किसी दूसरी स्थिति में 0 या अधिक वर्णों को प्रतिस्थापित करते हुए एक स्ट्रिंग को दूसरे में रखें।

नोट: start स्थिति 1-अनुक्रमित है (आप 1 पर अनुक्रमित करना शुरू करते हैं, 0 नहीं)।

वाक्य - विन्यास:

STUFF ( character_expression , start , length , replaceWith_expression )  

उदाहरण:

SELECT STUFF('FooBarBaz', 4, 3, 'Hello') --returns 'FooHelloBaz'

लंबाई

एस क्यू एल सर्वर


LEN अनुगामी स्थान की गणना नहीं करता है।

SELECT LEN('Hello') -- returns 5

SELECT LEN('Hello '); -- returns 5

DATALENGTH अनुगामी स्थान को गिनता है।

SELECT DATALENGTH('Hello') -- returns 5

SELECT DATALENGTH('Hello '); -- returns 6

हालांकि यह ध्यान दिया जाना चाहिए, कि DATALENGTH स्ट्रिंग की अंतर्निहित बाइट प्रतिनिधित्व की लंबाई लौटाता है, जो स्ट्रिंग को संग्रहीत करने के लिए उपयोग किए जाने वाले चारसेट पर निर्भर करता है।

DECLARE @str varchar(100) = 'Hello ' --varchar is usually an ASCII string, occupying 1 byte per char
SELECT DATALENGTH(@str) -- returns 6

DECLARE @nstr nvarchar(100) = 'Hello ' --nvarchar is a unicode string, occupying 2 bytes per char
SELECT DATALENGTH(@nstr) -- returns 12

आकाशवाणी


सिंटेक्स: लंबाई (चार)

उदाहरण:

SELECT Length('Bible') FROM dual; --Returns 5
SELECT Length('righteousness') FROM dual; --Returns 13
SELECT Length(NULL) FROM dual; --Returns NULL

यह भी देखें: लंबाई, लंबाई, लंबाई 2, लंबाई 4

बदलने के

वाक्य - विन्यास:

REPLACE( खोज करने के लिए स्ट्रिंग , स्ट्रिंग के लिए खोज और बदलने के लिए , मूल स्ट्रिंग में जगह पर स्ट्रिंग )

उदाहरण:

SELECT REPLACE( 'Peter Steve Tom', 'Steve', 'Billy' ) --Return Values: Peter Billy Tom

बाएँ दांए

सिंटैक्स है:
LEFT (स्ट्रिंग-एक्सप्रेशन, पूर्णांक)
राइट (स्ट्रिंग-एक्सप्रेशन, पूर्णांक)

SELECT LEFT('Hello',2)  --return He  
SELECT RIGHT('Hello',2) --return lo

Oracle SQL में LEFT और RIGHT फ़ंक्शन नहीं हैं। उन्हें SUBSTR और LENGTH के साथ अनुकरण किया जा सकता है।
SUBSTR (स्ट्रिंग-अभिव्यक्ति, 1, पूर्णांक)
SUBSTR (स्ट्रिंग-एक्सप्रेशन, लंबाई (स्ट्रिंग-एक्सप्रेशन) -integer + 1, पूर्णांक)

SELECT SUBSTR('Hello',1,2)  --return He  
SELECT SUBSTR('Hello',LENGTH('Hello')-2+1,2) --return lo

रिवर्स

सिंटैक्स है: REVERSE (स्ट्रिंग-एक्सप्रेशन)

SELECT REVERSE('Hello') --returns olleH

दोहराने

REPLICATE फ़ंक्शन एक स्ट्रिंग को अपने साथ कई बार निर्दिष्ट करता है।

सिंटैक्स है: REPLICATE (स्ट्रिंग-एक्सप्रेशन, पूर्णांक)

SELECT REPLICATE ('Hello',4) --returns 'HelloHelloHelloHello'

regexp

MySQL 3.19

जाँचता है कि क्या एक स्ट्रिंग एक नियमित अभिव्यक्ति (दूसरे स्ट्रिंग द्वारा परिभाषित) से मेल खाती है।

SELECT 'bedded' REGEXP '[a-f]' -- returns True

SELECT 'beam' REGEXP '[a-f]' -- returns False

SQL सेलेक्ट और अपडेट क्वेरी में फ़ंक्शन को बदलें

SQL में बदलें फ़ंक्शन का उपयोग स्ट्रिंग की सामग्री को अपडेट करने के लिए किया जाता है। फ़ंक्शन कॉल MySQL, Oracle, और SQL सर्वर के लिए REPLACE () है।

बदलें फ़ंक्शन का सिंटैक्स है:

REPLACE (str, find, repl)

निम्न उदाहरण कर्मचारी तालिका में Southern साथ South घटनाओं को प्रतिस्थापित करता है:

पहला नाम पता
जेम्स दक्षिण न्यूयॉर्क
जॉन दक्षिण बोस्टन
माइकल दक्षिण सैन डिएगो

कथन का चयन करें:

यदि हम निम्नलिखित रिप्लेसमेंट फंक्शन लागू करते हैं:

SELECT 
    FirstName, 
    REPLACE (Address, 'South', 'Southern') Address
FROM Employees 
ORDER BY FirstName 

परिणाम:

पहला नाम पता
जेम्स दक्षिणी न्यूयॉर्क
जॉन दक्षिणी बोस्टन
माइकल दक्षिणी सैन डिएगो

अपडेट स्टेटमेंट:

हम निम्नलिखित दृष्टिकोण के माध्यम से अपनी तालिका में स्थायी परिवर्तन करने के लिए एक प्रतिस्थापित फ़ंक्शन का उपयोग कर सकते हैं।

Update Employees 
Set city = (Address, 'South', 'Southern');

एक अधिक सामान्य तरीका यह है कि इस तरह से WHERE क्लॉज के साथ इसका उपयोग किया जाए:

Update Employees 
Set Address = (Address, 'South', 'Southern')
Where Address LIKE 'South%';

PARSENAME

DATABASE : SQL सर्वर

PARSENAME फ़ंक्शन दिए गए स्ट्रिंग (ऑब्जेक्ट नाम) के विशिष्ट भाग को लौटाता है। ऑब्जेक्ट नाम में ऑब्जेक्ट नाम, स्वामी का नाम, डेटाबेस का नाम और सर्वर नाम जैसे स्ट्रिंग हो सकते हैं।

अधिक विवरण MSDN: PARSENAME

वाक्य - विन्यास

PARSENAME('NameOfStringToParse',PartIndex)

उदाहरण

ऑब्जेक्ट नाम प्राप्त करने के लिए भाग 1 उपयोग करें

SELECT PARSENAME('ServerName.DatabaseName.SchemaName.ObjectName',1)  // returns `ObjectName`
SELECT PARSENAME('[1012-1111].SchoolDatabase.school.Student',1)     // returns `Student`

स्कीमा नाम प्राप्त करने के लिए भाग 2 उपयोग करें

SELECT PARSENAME('ServerName.DatabaseName.SchemaName.ObjectName',2)  // returns `SchemaName`
SELECT PARSENAME('[1012-1111].SchoolDatabase.school.Student',2)     // returns `school`

डेटाबेस का नाम पाने के लिए पार्ट इंडेक्स 3 उपयोग करें

SELECT PARSENAME('ServerName.DatabaseName.SchemaName.ObjectName',3) // returns `DatabaseName`
SELECT PARSENAME('[1012-1111].SchoolDatabase.school.Student',3)    // returns `SchoolDatabase` 

सर्वर नाम पाने के लिए भाग 4 उपयोग करें

SELECT PARSENAME('ServerName.DatabaseName.SchemaName.ObjectName',4)  // returns `ServerName`
SELECT PARSENAME('[1012-1111].SchoolDatabase.school.Student',4)     // returns `[1012-1111]`

PARSENAME वापस आएगा अशक्त निर्दिष्ट भाग दिए गए ऑब्जेक्ट नाम स्ट्रिंग में मौजूद नहीं है

INSTR

सबस्ट्रिंग की पहली घटना का सूचकांक लौटाएं (शून्य नहीं मिला तो)

सिंटैक्स: INSTR (स्ट्रिंग, सबस्ट्रिंग)

SELECT INSTR('FooBarBar', 'Bar') -- return 4
SELECT INSTR('FooBarBar', 'Xar') -- return 0


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow