ورود

View Full Version : سوال در مورد Like



پوریا_م
یک شنبه 30 مرداد 1390, 13:29 عصر
با سلام خدمت دوستان
در یک جدول فیلدی بنام Tel از نوع (NVarchar(50 وجود داره. حالا وقتی این شماره تلفن همراه با کد اون شهرستان مورد جستجو قرار میگیره خروجی رو دریافت نمیکنم.
مثلا فرض کنید رکوردی داریم که مقدار فیلد tel اون 44443333 هست. حالا وقتی کاربر این شماره رو همراه با کد جستجو میکنه نتیجه ای رو در بر نداره! نمیدونم چرا % در دستور زیر جواب نمیده؟!!
این کد رو استفاده میکنم :
Select fullname From tellist Where Tel like N'%02144443333'
لطفا راهنمائی بفرمائید.

oliya24
یک شنبه 30 مرداد 1390, 14:20 عصر
دوست عزیز واسه این خطا میده که اصلا عملگر like برای این کار تعبیه نشده عملگر like برای جدا کردن بخشی از رشته به کار میرود(همون جستجو کردن)

یوسف زالی
یک شنبه 30 مرداد 1390, 14:45 عصر
با سلام.
شما علامت % رو باید بعد از رشته کد شهرستان قرار بدید.
% به معنی "هر چیزی" هست.
like '021%' -- means all numbers started with 021

پوریا_م
یک شنبه 30 مرداد 1390, 16:16 عصر
like '021%' -- means all numbers started with 021
این صحبت شما درسته ولی بعد از کد هم جواب نمیده!
شما فرض کنید در یک فیلد شماره های تلفن ثابت رو دارین(بدون کد شهرستان). ولی حالا کاربر یه سری شماره داره که کد بهشون چسبیده. (مثل 02144443333)
در ضمن تعداد شماره های تلفن ثابت و کد شهرها در کل کشور قاعده بخصوصی نداره که اول شماره تلفن رو از اون رشته استخراج کنیم بعد سلکت بزنیم.
چاره چیست ؟؟؟!!!

یوسف زالی
دوشنبه 31 مرداد 1390, 01:54 صبح
در حالت کلی اونی که در دیگری وجود داره اول میاد.
مثلا اگر شما کوتاهتر رو ذخیره کرده باشید به نام Tel و کاربر بیاد بزنه تو Tel@ اونوقت:
Tel like '''%' + @Tel + ''' -- test
اگر بر عکس باشه:
Tel like '''%' + Tel + ''' --test2@