(حرفه ای ها کمک کنن!) استفاده شرطی از یک عبارت REGEXP (با قاعده) در Mysql
فر ض کنید در یک tbl یک فیلد phone داریم که به صورت زیر مقدار دهی شده باشه:
نقل قول:
تلفن: 021-8888888 و 09121222222 تماس بگیرید
با استفاده از عبارات منظم زیر میشه به شماره موبایل دسترسی پیدا کرد:
SELECT phone FROM tbl where phone REGEXP '9[0-9]{9}'
من میخواستم بدونم چطوری میشه از یک عبارت باقاعده برای مقایسه با فیلد دوم استفاده بشه و نتیجه هم خروجی عبارت با قاعده فیلد اول باشه یعنی:
SELECT phone REGEXP '9[0-9]{9}' FROM tbl where ( phone2 = phone REGEXP '9[0-9]{9}' )
این دستور عمل نمیکنه فقط برای درک بهتر موضوع نوشتم
لطفا حرفه ای ها راهنمایی کنن
ممنون
نقل قول: (حرفه ای ها کمک کنن!) استفاده شرطی از یک عبارت REGEXP (با قاعده) در Mysql
این یک مقدار بولین بر میگردونه
phone REGEXP '9[0-9]{9}'
SELECT phone2 FROM tbl where ( phone2 REGEXP '9[0-9]{9}' = phone REGEXP '9[0-9]{9}' )
این منطقی تره
نقل قول: (حرفه ای ها کمک کنن!) استفاده شرطی از یک عبارت REGEXP (با قاعده) در Mysql
راهی برای استخراج یک عبارت منظرم هست؟ مثلا:
select replace('REGEXP',phone) from tbl
میتونید بگید مشکل این دستور چیه؟
SELECT tbl2.phone FROM tbl1 INNER JOIN tbl2 where ( tbl1.phone REGEXP '9[0-9]{9}' = tbl2.phone REGEXP '9[0-9]{9}' )
ممنون