How to find the First Character starting in SQL Server 2008 -


  घोषणा @ इनपुट NVARCHAR (MAX) = 'प्रक्रिया परीक्षण करें' DECLARE @ SearhString NVARCHAR (MAX) = 'प्रक्रिया   

1- मुझे स्ट्रिंग प्रक्रिया के बाद शुरू होने वाले अगले अक्षर की लंबाई ढूंढना है

2- इसके बाद मैं यह जांचना चाहता हूं कि क्या डीबो स्ट्रिंग निर्दिष्ट लंबाई में उस लम्बाई के बाद मौजूद है।

मान लीजिए कि पहला अक्षर टेस्ट 14 स्थिति से शुरू होने पर स्ट्रिंग प्रक्रिया , इसलिए मुझे इसका उपयोग करना होगा

  DECLARE @ स्ट्रिंग varchar (20) = SUBSTRING (@ इनपुट, 21, 10) @ स्ट्रिंग इंडेक्स BIGINT = CHARINDEX (' dbo। ', @String) @FirstCharacterIndex BIGINT घोषित करें (यह पहला अक्षर का सूचक होगा)   

यदि @ स्ट्रिंग में स्ट्रिंग dbo नहीं है, तो सामान MySchema टेस्ट से पहले।

कृपया सुझाव दें।

UPDATE

मैंने अपनी खोज को अपडेट कर लिया है आयन 22 @ इंडेक्स + @ फॉर्टेक्टर इंडेक्स + 9

@ इंडैक्स = 8

@FirstCharacterIndex = 4 का परिणाम है (रिक्त स्थान के लिए 3 गिनतीएं और चौथे को पहले वर्ण के लिए है)

9 = स्ट्रिंग के प्रक्रिया

प्रयास करें नीचे यह एसक्यूएल:

  घोषणा @ इनपुट NVARCHAR (MAX) = 'प्रक्रिया परीक्षण बनाएँ'; DECLARE @ input2 NVARCHAR (MAX) = 'प्रक्रिया डीबीओ टेस्ट बनाएँ'; DECLARE @ सर्चस्ट्रिंग एनवीएचएआरएआर (अधिकतम) = 'प्रक्रिया'; DECLARE @ इंडेक्स BIGINT = CHARINDEX (@SearchString, @input); खोज इंजन के रूप में @ खोज, खोज सर्टिंग के रूप में @ खोज, इंडीज साइबरस्ट्रेस्ट के रूप में @ इंडिक्स, इंडीज + लेन (@ सर्चस्ट्रिंग) के रूप में Last_CharacterOfSearchString, चार इंडैक्स ('टेस्ट', @ इनपुट, @ इंडेक्स + लेन (@ सर्चस्ट्रिंग)) test_index, charIndex ('dbo ', इनपुट, @ इंडेक्स + लेन (@ सर्चस्ट्रिंग), डीबॉइंडएक्स के रूप में, स्ट्रिंग (@ इनपुट, 0, @ इंडिक्स + लेन (@ सर्चस्ट्रिंग)) के रूप में स्ट्रेट, len (@input) - @ इंडेक्स + लेन (@ सर्चस्ट्रिंग) के रूप में स्ट्रॉ 2 घोषित करें @ डीबो_ इंडेक्स इंट घोषित करें @ एसआर 1 एनवर्चार (मैक्स), @ एसआर 2 एनवर्चार (मैक्स) सेट @ डीबो_ इंडैक्स = चार इंडैक्स ('डीबो', @ इनपुट, @ इंडेक्स + Len (@SearchString)) --select @ dbo_Index अगर @ डीबो_ इंडैक्स = 0 सेट किया जाता है, तो @ स्ट्रॉ = सबस्टिंग (@ इनपुट, 0, @ इंडेक्स + लेन (@ सर्चस्ट्रिंग)) @ str2 = substring सेट (@ इनपुट, @ इंडेक्स + लैन (@ सर्चस्ट्रिंग), लेन (@input) - @ इंडेक्स + लेन (@ सर्चस्ट्रिंग)) @ स्ट्र 1 + '' + 'माईस्केमा' + @ स्ट्रोब एंड - चुनें, चार इंडेक्स ('डीबो', इनपुट 2, @ इंडिक्स + len (@SearchString)) के रूप में dbo_Index   

अपडेट किया गया:
उद्देश्य: "अंडर फायर" पहले चरित्र इंडेक्स ("यू") प्राप्त करें <पूर्व> इनपुट @ input2 NVARCHAR (अधिकतम) = 'अग्नि परीक्षण के तहत प्रक्रिया बनाएँ'; DECLARE @ सर्चस्ट्रिंग एनवीएचएआरएआर (अधिकतम) = 'प्रक्रिया'; डीबीआई इंडेक्स का विकल्प substring (@ input2, 17,25), चारिंडएक्स (@ सर्चस्ट्रीग, @ इनपुट -2,0) + लेन (@ खोजस्ट्रिंग) के रूप में, चार इंडेक्स ('डीबो', @ इनपुट 2, @ इंडेक्स + लेन (@ सर्चस्ट्रिंग)) के रूप में अंतिम इंडेक्सओफ़_क्रॉपरेअर, चारिंडएक्स ('टेस्ट', इनपुट 2,0), लेन (इनपुट @ 2), सबस्ट्रिंग (@ इनपुट 2, चारिंडएक्स (@ सर्चस्ट्रीग, इनपुट @ 2.0) + लेन (@ सर्चस्ट्रिंग), चार्डीएक्स ('टेस्ट', @ Input2.0) - (CHARINDEX (@ सर्चस्ट्राइंग, @ input2,0) + len (@SearchString)) सेट @ सर्चस्ट्रिंग = लिट्रिम (आरटीआईएम (उपपरिवर्तक (इनपुट 2, चारिंडएक्स (@ सर्चस्ट्रीग, @ input2,0) + लेन @ सर्चस्ट्रिंग), CHARINDEX ('टेस्ट', @ input2.0) - (चार्न्डेक्स (@ सर्चस्ट्रीग, @ इनपुट -2,0) + लेन (@ खोज स्ट्रिंग)))) @ सर्चस्ट्रिंग @ इनपुट 2 का चयन करें, सर्चस्ट्रिंग के रूप में @ खोज स्ट्रिंग, चार्टिन (@ सर्चस्ट्राइंग, @ इन्पुट 2) फर्स्टचरचर इंडेक्स

Comments

Popular posts from this blog

Pass DB Connection parameters to a Kettle a.k.a PDI table Input step dynamically from Excel -

multithreading - PhantomJS-Node in a for Loop -

c++ - MATLAB .m file to .mex file using Matlab Compiler -