کریکٹر تلاش کرنے اور بائیں طرف واپس جانے کیلئے ایس کیو ایل سبسٹنگ

ایس کیو ایل میں متعدد بلٹ ان اسٹرنگ ہیرا پھیری افعال شامل ہیں جو پی ایچ پی جیسی ویب اسکرپٹنگ زبانوں کے ذریعہ فراہم کردہ افعال سے ملتے جلتے ہیں۔ آپ ان افعال کو ایس کیو ایل کے استفسار میں "منتخب" اور "جہاں" شق دونوں میں استعمال کرسکتے ہیں۔ آپ سٹرنگ میں ایک کردار ڈھونڈ سکتے ہیں اور دو مختلف سٹرنگ افعال کی آؤٹ پٹ کو جوڑ کر ہر چیز کو اس کردار کے بائیں طرف لوٹ سکتے ہیں۔

ڈیٹا کا معائنہ کریں

اس بات کا تعین کریں کہ ڈیٹا بیس میں موجود ڈیٹا کو کسی فیلڈ کے لئے کس طرح فارمیٹ کیا جاتا ہے جس پر آپ اپنے ایس کیو ایل کے استفسار پر مبنی منصوبہ رکھتے ہیں۔ کسی PHPMyAdmin جیسے ٹول کا استعمال کرتے ہوئے ، ڈیٹا فیلڈز کی شکل کی تصدیق کے ل the ڈیٹا بیس کے مندرجات کو براؤز کریں۔ مثال کے طور پر ، ایک فیلڈ جس میں اعداد کی ایک سیریز ہے جس کے بعد ایک حرف ہوتا ہے اور اعداد کی ایک اور سیریز ہوتی ہے اس کی شکل ہوتی ہے جیسے "009378M38293"۔

بائیں

ایس کیو ایل "بائیں" فنکشن اسٹرنگ کے آغاز سے ہی ایک مخصوص تعداد میں حرف واپس کرتا ہے۔ مثال کے طور پر:

بائیں(آئٹم, 10)

"آئٹم" فیلڈ میں سٹرنگ سے پہلے 10 حرف واپس کرتا ہے۔

مقام

اس خط کے اس جگہ کے بائیں طرف تمام حروف کو نکالنے کے لئے جس میں خط ہوتا ہے ، اس مقام کا تعین کریں جس میں خط MySQL "LOCATE" فنکشن کے ساتھ ہوتا ہے۔ مثال کے طور پر ، اگر فیلڈ "آئٹم" "009378M38293 ،" ہے تو:

مقام ("M" ، آئٹم)

سات واپس کرتا ہے ، جو "ایم" حرف کی پوزیشن ہے

بائیں اور LOCATE کا امتزاج کرنا

"M" جیسے خط کے بائیں طرف تمام حرف واپس کرنے کے لئے ، آپ "LOCATE" اور "بائیں" افعال کے نتائج کو اکٹھا کرسکتے ہیں۔ چونکہ آپ خط کو رزلٹ سیٹ میں شامل نہیں کرنا چاہتے ، لہذا "LOCATE" فنکشن کے نتیجے میں سے ایک کو گھٹائیں۔ اس قدر کو حروف کی تعداد کے طور پر استعمال کریں جو آپ "LEFT" فنکشن کے ذریعہ لوٹانا چاہتے ہیں۔ مثال کے طور پر ، اگر "آئٹم" فیلڈ میں "009378M38293 ،" شامل ہے تو:

بائیں(آئٹم، LOCATE ("M" ، آئٹم) -1) بائیں کی طرح ہے (آئٹم، 6) جو "009378." واپس کرتا ہے۔

جہاں شق شامل کرنا

جب آپ ان افعال کا استعمال کرتے ہوئے ایک ایس کیو ایل استفسار بناتے ہیں تو ، آپ صرف ان فیلڈز کے لئے نتائج شامل کرنا چاہتے ہیں جس میں "M" حرف ہوتا ہے تاکہ آپ کے نتائج کے سیٹ میں خالی قطعات نہ ہوں۔ اس کام کے ل results ، "لوکائٹ" فنکشن کو دوسری بار استفسار میں "WHERE" شق کے ساتھ نتائج فراہم کرنے کے لئے صرف اس وقت استعمال کریں جب آپ جس خط کی تلاش کر رہے ہو وہ موجود ہو۔ اس وقت جب "LOCATE" فنکشن صفر سے بڑی تعداد کو لوٹاتا ہے۔

نتیجہ

ہر ایک کو ایس ایس کیو ایل کے بیان میں جوڑ دیں۔ مثال کے طور پر ، مندرجہ ذیل بیان میں "آئٹمز" فیلڈ میں حرف "M" کے بائیں "بائیں" ہر ایک "آئٹمز" فیلڈ کے حرفوں پر مشتمل ایک نتیجہ سیٹ لوٹاتا ہے جس میں "M:" حرف ہوتا ہے۔

بائیں منتخب کریں (آئٹم، LOCATE ("M" ، آئٹم) -1) AS آئٹم لیفٹ منجانب اشیاء جہاں مقام ("ایم" ، آئٹم)>0

حالیہ پوسٹس

$config[zx-auto] not found$config[zx-overlay] not found