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

मैं एकाधिक रिकॉर्ड्स में स्ट्रिंग्स को बदलने के लिए mySQL रिप्लेस () का उपयोग कैसे कर सकता हूं?

बहुत ही सामान्य स्तर पर

UPDATE MyTable

SET StringColumn = REPLACE (StringColumn, 'SearchForThis', 'ReplaceWithThis')

WHERE SomeOtherColumn LIKE '%PATTERN%'

आपके मामले में आप कहते हैं कि ये बच निकले थे, लेकिन चूंकि आप यह निर्दिष्ट नहीं करते कि वे कैसे बच निकले, मान लीजिए कि वे GREATERTHAN से बच गए थे

UPDATE MyTable

SET StringColumn = REPLACE (StringColumn, 'GREATERTHAN', '>')

WHERE articleItem LIKE '%GREATERTHAN%'

चूंकि आपकी क्वेरी वास्तव में स्ट्रिंग के अंदर काम करने वाली है, इसलिए आपका WHERE क्लॉज अपने पैटर्न मिलान को करने से किसी भी प्रदर्शन में सुधार की संभावना नहीं है - यह वास्तव में सर्वर के लिए और अधिक काम उत्पन्न करने वाला है। जब तक आपके पास एक और WHERE क्लॉज सदस्य नहीं है जो इस क्वेरी को बेहतर प्रदर्शन करने जा रहा है, तो आप बस इस तरह से एक अपडेट कर सकते हैं:

UPDATE MyTable
SET StringColumn = REPLACE (StringColumn, 'GREATERTHAN', '>')

आप कई REPLACE नेस्ट भी कर सकते हैं कॉल

UPDATE MyTable
SET StringColumn = REPLACE (REPLACE (StringColumn, 'GREATERTHAN', '>'), 'LESSTHAN', '<')

आप ऐसा तब भी कर सकते हैं जब आप डेटा का चयन करते हैं (जब आप इसे सहेजते हैं तो इसके विपरीत)।

तो इसके बजाय :

SELECT MyURLString From MyTable

आप कर सकते थे

SELECT REPLACE (MyURLString, 'GREATERTHAN', '>') as MyURLString From MyTable



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:उसी MySql उदाहरण पर एक MySQL डेटाबेस को क्लोन करना

  2. MySQL में VALUES स्टेटमेंट

  3. लोकलहोस्ट बनाम 127.0.0.1 mysql_connect () में

  4. ETL प्रक्रिया में Python और MySQL का उपयोग करना:SQLAlchemy

  5. MySQL का उपयोग करके तीन तालिकाओं में शामिल होना