SQL REGEXP_REPLACE

Sql Regexp Replace



টেক্সট ডেটা বা স্ট্রিংগুলি, যেমন ডেভেলপাররা তাদের বলে, যে কোনও কার্যকরী প্রোগ্রামের জন্য একটি প্রধান বিল্ডিং ব্লক। ডেটা সংরক্ষণের ক্ষেত্রে এটি আলাদা নয়। প্রায় সব ডাটাবেসেই কিছু টেক্সট তথ্য থাকে যেমন নাম, লগ ইত্যাদি।

যেমন, স্ট্রিং ম্যানিপুলেশন একটি সাধারণ কাজ যার মধ্যে স্ট্রিং মানগুলিকে একটি নির্দিষ্ট বিন্যাসে পরিবর্তন করা এবং রূপান্তর করা জড়িত।

এসকিউএল-এর সবচেয়ে শক্তিশালী ফাংশনগুলির মধ্যে একটি যা স্ট্রিং অপারেশনগুলির সাথে কাজ করে তা হল REGEXP_REPLACE() ফাংশন। এই ফাংশনটি আমাদের রেগুলার এক্সপ্রেশন-ভিত্তিক অনুসন্ধান এবং প্রতিস্থাপন করতে দেয়। আপনি যদি নিয়মিত অভিব্যক্তির সাথে পরিচিত হন তবে আপনি জানেন যে এই ফাংশনটি কতটা শক্তিশালী হতে পারে।







এই টিউটোরিয়ালে, আমরা শিখব কিভাবে আমরা এসকিউএল ডাটাবেসে স্ট্রিংগুলি অনুসন্ধান এবং প্রতিস্থাপন করতে এই ফাংশনটি ব্যবহার করতে পারি।



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() একটি ফাংশন যা আমাদেরকে একটি নির্দিষ্ট স্ট্রিং-এর মধ্যে নিয়মিত এক্সপ্রেশন-ভিত্তিক প্যাটার্ন ম্যাচিং এবং প্রতিস্থাপন করতে দেয়।



রেগুলার এক্সপ্রেশন বা রেগুলার এক্সপ্রেশন হল একটি সেট প্যাটার্ন এবং প্লেসহোল্ডার যা আমাদেরকে একটি নির্দিষ্ট প্যাটার্ন অনুসরণ করে এমন স্ট্রিং বা সাবস্ট্রিংগুলিকে মেলাতে এবং ম্যানিপুলেট করতে দেয়।





এটি মনে রাখা ভাল যে প্রতিটি ডাটাবেস ইঞ্জিন ফাংশনের সিনট্যাক্স এবং কার্যকারিতা কিছুটা কার্যকর করতে পারে।

যাইহোক, আমরা এর সিনট্যাক্সকে নিম্নরূপ প্রকাশ করতে পারি:



REGEXP_REPLACE(ইনপুট_স্ট্রিং, প্যাটার্ন, প্রতিস্থাপন [, পতাকা])

ফাংশন পরামিতি নিম্নলিখিত প্রকাশ করা হয়:

  1. input_string - এটি সেই স্ট্রিংটি নির্দিষ্ট করে যার মধ্যে আমরা অনুসন্ধান এবং প্রতিস্থাপন করতে চাই।
  2. প্যাটার্ন - এটি রেগুলার এক্সপ্রেশন প্যাটার্ন নির্দিষ্ট করে যা আমরা ইনপুট স্ট্রিং এর মধ্যে মেলাতে চাই।
  3. প্রতিস্থাপন - এটি স্ট্রিংটি নির্দিষ্ট করে যা মিলিত সাবস্ট্রিংগুলিকে প্রতিস্থাপন করবে।
  4. পতাকা - এটি ঐচ্ছিক পতাকার একটি সেট যা রেগুলার এক্সপ্রেশনের কার্যকারিতা পরিবর্তন করতে সাহায্য করতে পারে। উদাহরণস্বরূপ, আমরা বিশ্বব্যাপী অনুসন্ধান, কেস-সংবেদনশীল ম্যাচিং ইত্যাদি সক্ষম করতে পারি। এই বৈশিষ্ট্যটি ডাটাবেস ইঞ্জিনের উপর নির্ভর করে পরিবর্তিত হয়।

উদাহরণ:

এই ফাংশনটি কীভাবে কাজ করে তা আরও ভালভাবে বোঝার জন্য, আসুন এটি কীভাবে ব্যবহার করবেন তার কিছু উদাহরণ দেখি।

উদাহরণ 1: মৌলিক ব্যবহার

ধরুন আমাদের কাছে একটি টেবিল রয়েছে যাতে নিম্নলিখিত উদাহরণের আউটপুটে দেখানো কর্মচারী তথ্য রয়েছে:

একটি কেস বিবেচনা করুন যেখানে আমরা 'চার্লি' স্ট্রিংটির উপস্থিতি 'ম্যাথিউ' এ প্রতিস্থাপন করতে চাই। আমরা নিম্নলিখিত হিসাবে ক্যোয়ারী ব্যবহার করতে পারেন:

নির্বাচন করুন

REGEXP_REPLACE(প্রথম_নাম, 'চার্লি', 'ম্যাথিউ') নতুন_নাম হিসাবে

থেকে

কর্মচারী;

প্রদত্ত উদাহরণটি 'প্রথম_নাম' কলাম থেকে 'চার্লি' স্ট্রিং খুঁজে পেতে একটি মৌলিক অনুসন্ধান এবং প্রতিস্থাপন প্রদর্শন করে এবং এটিকে 'ম্যাথিউ' দিয়ে প্রতিস্থাপন করে।

আউটপুট:

উদাহরণ 2: কেস সংবেদনশীল প্রতিস্থাপন

কিছু ক্ষেত্রে, আপনি একটি কেস সংবেদনশীল অনুসন্ধান করতে চাইতে পারেন। এর মানে হল যে ফাংশনটি শুধুমাত্র স্ট্রিং বিষয়বস্তু দেখবে এবং বর্ণসংখ্যার অক্ষরের প্রকৃত আবরণ নয়।

এই ধরনের ক্ষেত্রে, আমরা ফাংশন পতাকা হিসাবে 'i' ব্যবহার করি:

REGEXP_REPLACE নির্বাচন করুন(product_description, Samsung, Apple, 'i') পরিবর্তিত হিসাবে

পণ্য থেকে;

পতাকাটিকে 'i' এ সেট করার মাধ্যমে, কেসিং নির্বিশেষে ফাংশনটি 'স্যামসাং' এর সাথে মেলে এমন সমস্ত শব্দের সাথে মেলে।

উপসংহার

এই উদাহরণে, আমরা রেগুলার এক্সপ্রেশন প্যাটার্ন-ভিত্তিক অনুসন্ধান এবং প্রতিস্থাপন করতে REGEXP_REPLACE() ফাংশনের সাথে কীভাবে ব্যবহার এবং কাজ করতে হয় তা অনুসন্ধান করেছি।