ورود

View Full Version : پیدا کردن یک کلمه در جمله و تغییر آن



xrezax
شنبه 23 خرداد 1394, 07:24 صبح
دوستان توی دیتابیسم یه فیلد filename دارم که توش اسم فایل نوشته شده
تعداد فیلدام زیادن
مثلا اینشکلی
sdkhjsadkjhkjahd.doc
kjkjvklfss56s46f54s.doc
34dfsffsdfsdf.doc
...
..
..
الی آخر
یعنی تعداد اصلاً معلوم نیست که چندتا کاراکتر چندتاست.
حالا من یه کویری میخوام که هر کجا .doc بود رو به .docx تبدیل کنه.

pyramid_ali
شنبه 23 خرداد 1394, 19:10 عصر
UPDATE table_name SET filename = CONCAT(filename, "x")

با استفاده از این کد می تونی همشو اونجوری که گفتی به docx تبدیل کنی!
البته با php هم میتونی فیلد ها رو بگیر و تغییر بدی و دوباره آپدیتشون کنی!

xrezax
یک شنبه 24 خرداد 1394, 15:41 عصر
مرسی
اما من میخوام اول پیداشون کنم بعد تغییر بدم

pyramid_ali
یک شنبه 24 خرداد 1394, 23:31 عصر
خوب آخر دستور از شرط استفاده کن!
UPDATE table_name SETfilename = CONCAT(filename, "x") WHERE filename LIKE '%.doc'

pyramid_ali
یک شنبه 24 خرداد 1394, 23:35 عصر
البته اگه با این کوئری آشناییت نداری باید بگم که where شرط میزاره روی کوئری و اینکه like برای پیدا کردن پترن به کار میره! و برای دادن پترن فقط میتونی از % و _ استفاده کنی که % یعنی هر چنتا کارکتر باشه و _ منظور تک کارکتر هستش! البته استفاده از LIKE زیاد متداول نیست چون کل جدول رو بررسی میکنه و یه کوئری کند به حساب میاد! اینو گفتم چون اگه یه موقعی خواستی روی جدولت سرچ بزنی بری سراغ یه روش دیگه مثله MATCH AGAINST ! البته واسه کار تو همون خط بالا کفایت میکنه!