আমার নিম্নলিখিত পরিস্থিতি আছে। আমার মাইএসকিউএল ব্যবহার করে বিবরণ থেকে নিয়মিত অভিব্যক্তি সাবস্ট্রিং করতে হবে। বর্ণনা:
হোম D9801 বাথরুম বসতে সরবরাহকারী
যেখানে D9801 হ'ল REGEXP। প্রতিটি দৃ text় পাঠ্যের বিবরণে আলাদা আলাদা সামগ্রী থাকে তবে আমার রিজেপেক্সটি দেখতে পাওয়া উচিত: REGEXP 'D [[: ডিজিট:]] {4}'
আরজিইএক্সপি-এর সর্বদা শুরুতে "ডি" থাকে এবং শেষে "এক্সএক্সএক্সএক্সএক্স" থাকে - 4 সংখ্যার: ডিএক্সএক্সএক্সএক্স
আমি জানি যে REGEXP কেবল সঠিক / মিথ্যা মান প্রদান করে, তবে কেবলমাত্র 'D9801' মান ফেরত দেওয়ার জন্য কীভাবে আমি কোয়েরি করতে পারি?
আমি এরকম কিছু চেষ্টা করেছি:
SELECT SUBSTRING (description, LOCATE(REGEXP 'D[[:digit:]]{4}', description), 5)
FROM (
SELECT "Lorem D9801 ipsum dolor sit amet" AS description
) temp
আমি জানি এটি ভুল, তাই আমি এটি দিয়ে চেষ্টা করব:
SELECT
id,
SUM(description REGEXP 'D[[:digit:]]{4}') AS matches,
CASE
WHEN (SUM(description REGEXP 'D[[:digit:]]{4}') > 0) THEN
SUBSTRING(description, LOCATE( /*POSITION_OF_REGEXP_IN_DESC*/ , description), 5)
ELSE 'Brak schematu'
END AS show_substr FROM ps_description GROUP BY id;
কিন্তু কীভাবে রেজিপেক্সের অবস্থান সন্ধান করবেন?
আমি ইউডিএফ সম্পর্কে শুনেছি কিন্তু আমি এটি ব্যবহার করতে পারি না, আমি ওভিএইচ হোস্টিং ব্যবহার করি।