Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

स्ट्रिंग के हिस्से को क्रॉस रेफ अस्थायी तालिका से पूंजीकृत समकक्ष के साथ बदलें - tsql

यदि आपके पास अपने मूल्य हैं जिन्हें आप एक तालिका में प्रतिस्थापन के रूप में उपयोग करना चाहते हैं, तो आप इस क्रिया को बार-बार करने जा रहे हैं, तो आप प्रतिस्थापन करने के लिए एक फ़ंक्शन बना सकते हैं:

create function replacement(@string varchar(max))
returns varchar(max)
as
begin

    with ReplaceWord(InternalWord, ExternalWord) as
    (
        select InternalValue, ExternalValue
        from capital
    )
    select @string =  REPLACE(@string, r.InternalWord, r.ExternalWord)
    from ReplaceWord r
    where CHARINDEX(r.InternalWord, @string) > 0

    return @string
end

फिर उस डेटा को क्वेरी करने के लिए जिसका आप उपयोग कर सकते हैं:

SELECT dbo.replacement(i.Instrument) NewValue
FROM instrument AS i

देखें SQL Fiddle with Demo

जो लौटेगा:

|                                     NEWVALUE |
------------------------------------------------
|            Merck & Co INC Common Stock USD.5 |
| Newmont Mining CORP Common Stock USD INC 1.6 |

नोट:मुझे आधार कोड यहां मिला है। @SQL कीवी से और इसे एक फ़ंक्शन का उपयोग करने के लिए बदल दिया है यदि ऐसा कुछ है जो आपको लगातार आधार पर करना होगा



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Windows प्रमाणीकरण या SQL सर्वर प्रमाणीकरण का उपयोग करके SQL सर्वर इंस्टेंस से कैसे कनेक्ट करें - SQL सर्वर / T-SQL ट्यूटोरियल भाग 3

  2. PHP + SQL सर्वर - कनेक्शन के लिए चारसेट कैसे सेट करें?

  3. टी-एसक्यूएल संग्रहीत प्रक्रिया के अंदर पैरामीटर नाम और वर्तमान मूल्यों को गतिशील रूप से पुनर्प्राप्त करें

  4. कीवर्ड 'current_timestamp' के पास गलत सिंटैक्स - लेकिन केवल एक डेटाबेस पर

  5. संग्रहीत कार्यविधि का उपयोग करके sql सर्वर 2008 में एक स्ट्रिंग को कैसे विभाजित करें और तालिका में डेटा डालें