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

संपूर्ण स्तंभ मान खोजें और बदलें SQL सर्वर

मुझे आशा है कि मैंने इसे सही ढंग से समझा। तो मैं दोहराऊंगा।

  1. आपके पास बहुत सारी प्रविष्टियों वाली 1 तालिका है
  2. आपके पास एक्सेल से यह सूची है जहां आप "खोज कॉलम" की खोज करते हैं
  3. एक मैच के मामले में, पूरे मान को "रिप्लेस कॉलम" से बदलें

अगर ऐसा है, तो यह समाधान हो सकता है:

declare @data table (Column1 nvarchar(50))

insert  into @data
        (Column1)
values  (N'RbC investment for Seniors 65+'),
        (N'RBC inv for juniors')

declare @replace table
    (
     OriginalValue nvarchar(50),
     NewValue nvarchar(50),
     [priority] int
    )

insert  into @replace
        (OriginalValue, NewValue, [priority])
values  (N'rbc inv', N'RBC dominion securities', 2),
        (N'rbc dom', N'RBC dominion securities', 2),
        (N'RBC', N'RBC Bank', 3)

update  @data
set     Column1 = coalesce((
                            select top 1
                                    NewValue
                            from    @replace
                            where   Column1 like '%' + OriginalValue + '%'
                            order by [priority]
                           ), Column1)

select  *
from    @data

तालिका "डेटा" वह होगी जहां आप प्रतिस्थापन करते हैं।

इसका उपयोग करने के कुछ साइड इफेक्ट्स हो सकते हैं (उदाहरण के लिए "search_column" में% जैसे वाइल्डकार्ड, शायद कई मैच - अभी एक "यादृच्छिक" लिया जाता है, प्रदर्शन सबसे अच्छा नहीं हो सकता है, ...) लेकिन मुझे लगता है अधिक सटीक उत्तर के लिए मुझे एक बेहतर प्रश्न की आवश्यकता होगी।

संपादित करें:

राल्फ के लिए धन्यवाद ... मैंने डुप्लिकेट मैचों को संभालने में सक्षम होने के लिए "बदलें" तालिका को प्राथमिकता दी।

यदि "आरबीसी" की प्राथमिकता 3 है तो परिणाम यह होगा:

1 की प्राथमिकता के साथ यह है:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कोल्डफ्यूजन को SQL सर्वर डेटाबेस इंस्टेंस से कनेक्ट करें

  2. XQuery और नोड आईडी

  3. SQL सर्वर में ऑडिट टेबल लागू करने के लिए सुझाव?

  4. SQL सर्वर प्रबंधन स्टूडियो की स्थापना के बाद सेवा सूची में SQL सर्वर सेवा उपलब्ध नहीं है

  5. मैं रोज़ाना SQL क्वेरी चलाने के लिए किसी कार्य को कैसे शेड्यूल कर सकता हूँ?