پایگاه دادههای SQL یا همان رابطهای(Relational) دارای یک تابع داخلی به نام Replace هستند که برای جایگذاری اطلاعات مورد استفاده قرار می گیرد. فرض کنید در جدولی از دیتابیس اطلاعاتی متنی داریم و می خواهیم در این متنها، حرف “ط” را با حرف “ی” جابجا کنیم، به گونه ای که فقط این کاراکتر تغییر کند و سایر کاراکترهای موجود در دیتابیس بی تغییر بمانند. برای اینکار باید از Replace در داخل دستور Update استفاده کنیم. به کمک این ترکیب می توانیم مانند Find & Replace که در اکثر نرم افزارهای ویرایش متن موجود است، بر روی داده های موجود در دیتابیس عملیات جایگزینی را انجام دهیم. به دستور زیر توجه کنید:
UPDATE `names_tbl` SET `name_col` = REPLACE( `name_col` , 'ط', 'ی' )
در مثال بالا فرض ما بر این است که جدولی با نام names_tbl داریم که لیست نام ها را در خود جای داده است. کوئری بالا به ما این امکان را میدهد که در ستون name_col هر کجا(در هر ردیفی) که از حرف “ط” استفاده شده است، حرف “ی” را جایگزین کنیم.
[divider]
ساختار دستور Replace
همانطور که در ابتدای آموزش نیز مشاهده کردید، این دستور دارای سه پارامتر ورودی به شرح زیر است:
REPLACE(string, old_string, new_string)
string: متنی اولیه یا همان متنی که قرار است جایگذاری در آن صورت گیرد.
old_string: عبارتی که قرار است در متن اولیه جایگزین شود.
new_string: عبارت جدیدی که جایگزین مقدار قبلی خواهد شد.
به یاد داشته باشید که در این جایگذاری کوچک یا بزرگ بودن حروف تفاوتی ایجاد نخواهد کرد و این تابع case-insensitive است.
همچنین میتوانید در مورد تابع CONCAT در MySQL نیز مطالعه کنید.
موفق و پیروز باشید…
با سلام و خسته نباشید. در خصوص match case هم اگر ممکن است توضیح دهید. ممنون
سلام مهرداد جان، حتما برای این موضوع مطلبی تهیه خواهیم کرد.
ممنون از لطفتون
ممنون
راهگشا بود