SQL REGEXP_REPLACE

Sql Regexp Replace



ٹیکسٹ ڈیٹا یا سٹرنگز، جیسا کہ ڈویلپرز انہیں کہتے ہیں، کسی بھی فنکشنل پروگرام کے لیے ایک اہم تعمیراتی بلاک ہے۔ جب ڈیٹا کو ذخیرہ کرنے کی بات آتی ہے تو یہ مختلف نہیں ہے۔ تقریباً تمام ڈیٹا بیس میں متن کی معلومات کی کچھ شکلیں ہوتی ہیں جیسے نام، نوشتہ وغیرہ۔

اس طرح، سٹرنگ ہیرا پھیری ایک عام کام ہے جس میں سٹرنگ کی اقدار کو ایک مخصوص فارمیٹ میں جوڑ توڑ اور تبدیل کرنا شامل ہے۔

ایس کیو ایل میں سب سے طاقتور فنکشنز میں سے ایک جو سٹرنگ آپریشنز سے متعلق ہے وہ ہے REGEXP_REPLACE() فنکشن۔ یہ فنکشن ہمیں ریگولر ایکسپریشن کی بنیاد پر تلاش کرنے اور تبدیل کرنے کی اجازت دیتا ہے۔ اگر آپ ریگولر ایکسپریشن سے واقف ہیں تو آپ جانتے ہیں کہ یہ فنکشن کتنا طاقتور ہو سکتا ہے۔







اس ٹیوٹوریل میں، ہم سیکھیں گے کہ ہم اس فنکشن کو کس طرح ایس کیو ایل ڈیٹا بیس میں سٹرنگز کو تلاش کرنے اور تبدیل کرنے کے لیے استعمال کر سکتے ہیں۔



SQL REGEXP_REPLACE

ایس کیو ایل REGEXP_REPLACE() ایک فنکشن ہے جو ہمیں ایک دی گئی سٹرنگ کے اندر ریگولر ایکسپریشن پر مبنی پیٹرن کی مماثلت اور تبدیلی کو انجام دینے کی اجازت دیتا ہے۔



ریگولر ایکسپریشن، یا ریجیکس، ایک سیٹ پیٹرن اور پلیس ہولڈرز ہے جو ہمیں کسی مخصوص پیٹرن کی پیروی کرنے والے تاروں یا ذیلی اسٹرنگز کو ملانے اور جوڑ توڑ کرنے کی اجازت دیتا ہے۔





یہ ذہن میں رکھنا اچھا ہے کہ ہر ڈیٹا بیس انجن فنکشن کی نحو اور فعالیت کو تھوڑا سا نافذ کر سکتا ہے۔

تاہم، ہم اس کے نحو کو اس طرح بیان کر سکتے ہیں:



REGEXP_REPLACE(ان پٹ_سٹرنگ، پیٹرن، تبدیلی [، جھنڈے])

فنکشن کے پیرامیٹرز کو درج ذیل میں ظاہر کیا گیا ہے۔

  1. input_string - یہ اس سٹرنگ کی وضاحت کرتا ہے جس کے اندر ہم تلاش اور تبدیل کرنا چاہتے ہیں۔
  2. پیٹرن - یہ ریگولر ایکسپریشن پیٹرن کی وضاحت کرتا ہے جسے ہم ان پٹ سٹرنگ میں ملانا چاہتے ہیں۔
  3. تبدیلی - یہ اسٹرنگ کی وضاحت کرتا ہے جو مماثل ذیلی اسٹرنگ کو بدل دے گا۔
  4. جھنڈے - یہ اختیاری جھنڈوں کا ایک مجموعہ ہے جو ریگولر ایکسپریشن کی فعالیت کو تبدیل کرنے میں مدد کرسکتا ہے۔ مثال کے طور پر، ہم عالمی تلاش، کیس غیر حساس مماثلت، وغیرہ کو فعال کر سکتے ہیں۔ یہ خصوصیت ڈیٹا بیس انجن کے لحاظ سے مختلف ہوتی ہے۔

مثالیں:

بہتر طور پر سمجھنے کے لیے کہ یہ فنکشن کیسے کام کرتا ہے، آئیے اس کے استعمال کے بارے میں کچھ مثالیں دیکھیں۔

مثال 1: بنیادی استعمال

فرض کریں کہ ہمارے پاس ایک ٹیبل ہے جس میں ملازم کی معلومات شامل ہیں جیسا کہ درج ذیل مثال کے آؤٹ پٹ میں دکھایا گیا ہے:

ایک ایسے معاملے پر غور کریں جہاں ہم 'چارلی' سٹرنگ کی موجودگی کو 'میتھیو' سے بدلنا چاہتے ہیں۔ ہم استفسار کو اس طرح استعمال کر سکتے ہیں:

منتخب کریں۔

REGEXP_REPLACE(پہلا_نام، 'چارلی'، 'میتھیو') بطور نیا_نام

سے

ملازمین؛

دی گئی مثال 'first_name' کالم سے 'Charlie' سٹرنگ تلاش کرنے اور اسے 'Matthew' سے بدلنے کے لیے ایک بنیادی تلاش اور تبدیلی کو ظاہر کرتی ہے۔

آؤٹ پٹ:

مثال 2: کیس غیر حساس تبدیلی

کچھ معاملات میں، آپ کیس غیر حساس تلاش کرنا چاہتے ہیں۔ اس کا مطلب یہ ہے کہ فنکشن صرف سٹرنگ کے مواد کو دیکھے گا نہ کہ حروفِ عددی حروف کے اصل کیسنگ کو۔

ایسی صورت میں، ہم 'i' کو بطور فنکشن فلیگ اس طرح استعمال کرتے ہیں:

REGEXP_REPLACE کو منتخب کریں (product_description, Samsung, Apple, 'i') جیسا کہ ترمیم کی گئی ہے

مصنوعات سے؛

جھنڈے کو 'i' پر سیٹ کرنے سے، فنکشن ان تمام الفاظ سے میل کھاتا ہے جو 'Samsung' سے مماثل ہوتے ہیں، قطع نظر اس کے کیسنگ سے۔

نتیجہ

اس مثال میں، ہم نے ریگولر ایکسپریشن پیٹرن کی بنیاد پر تلاش اور تبدیل کرنے کے لیے REGEXP_REPLACE() فنکشن کو استعمال کرنے اور اس کے ساتھ کام کرنے کا طریقہ دریافت کیا۔