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

SQL:खोज/प्रतिस्थापन लेकिन केवल पहली बार कोई मान रिकॉर्ड में प्रकट होता है

यह वास्तव में वही होना चाहिए जो आप MySQL में चाहते हैं:

UPDATE wp_post
SET post_content = CONCAT(REPLACE(LEFT(post_content, INSTR(post_content, 'A')), 'A', 'B'), SUBSTRING(post_content, INSTR(post_content, 'A') + 1));

यह मेरे पहले के उत्तर की तुलना में थोड़ा अधिक जटिल है - आपको 'ए' (INSTR फ़ंक्शन का उपयोग करके) का पहला उदाहरण खोजने की आवश्यकता है, फिर उस उदाहरण को प्रतिस्थापित करने के लिए प्रतिस्थापन के साथ संयोजन में बाएं का उपयोग करें, सबस्ट्रिंग और INSTR का उपयोग करने के बजाय उसी को खोजने के लिए 'ए' को आप बदल रहे हैं और इसे पिछली स्ट्रिंग से CONCAT करें।

मेरा परीक्षण नीचे देखें:

SET @string = 'this is A string with A replace and An Answer';
SELECT @string as actual_string
, CONCAT(REPLACE(LEFT(@string, INSTR(@string, 'A')), 'A', 'B'), SUBSTRING(@string, INSTR(@string, 'A') + 1)) as new_string;

उत्पादन:

actual_string                                  new_string
---------------------------------------------  ---------------------------------------------
this is A string with A replace and An Answer  this is B string with A replace and An Answer


  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 स्प्लिट कॉमा सेपरेटेड स्ट्रिंग इन टेम्प टेबल

  2. XAMPP में MySQL के साथ काम करने के लिए Django कैसे प्राप्त करें?

  3. MySQL पंक्तियों को प्राप्त करता है लेकिन एक कॉलम मान को दूसरे पर पसंद करता है

  4. Mysql में नियतात्मक कार्य

  5. PHP स्क्रिप्ट पर MySQL डेटाबेस कैसे दिखाएं?