MySql - วิธีอัปเดตส่วนของสตริงหรือไม่


104

ฉันกำลังมองหาวิธีอัปเดตสตริงเพียงบางส่วนผ่านการสืบค้น MySQL

ตัวอย่างเช่นถ้าฉันมี 10 ระเบียนทั้งหมดที่มี 'string' เป็นส่วนหนึ่งของค่าฟิลด์ (เช่น 'something / string', 'something / stringlookhere', 'something / string / etcetera' มีวิธีเปลี่ยน 'string 'to' anothervalue 'สำหรับแต่ละแถวผ่านหนึ่งแบบสอบถามเพื่อให้ผลลัพธ์เป็น' something / anothervalue ',' something / anothervaluelookhere ',' something / string / etcetera 'มีวิธีเปลี่ยน' anothervalue 'หรือไม่

คำตอบ:


233

ฉันคิดว่าสิ่งนี้ควรได้ผล:

UPDATE table
SET field = REPLACE(field, 'string', 'anothervalue')
WHERE field LIKE '%string%';


14

ใช้ตัวLIKEดำเนินการเพื่อค้นหาแถวที่คุณสนใจและอัปเดตโดยใช้REPLACEฟังก์ชัน

ตัวอย่างเช่น:

UPDATE table_name SET field_name = REPLACE(field_name,'search','replace') WHERE field_name LIKE '%some_value%'

0

สิ่งนี้ใช้งานได้หรือไม่?

update table_name
set column_name = replace(column_name, 'string%', 'string') 
where column_name like '%string%'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.