PDA

View Full Version : پیدا کردن اعداد به صورت رشته ای



hamed442
پنج شنبه 09 آبان 1392, 09:56 صبح
من یک فیلد عددی دارم از نوع دسیمال می خوام یک دستور بنویسم که از کاربر یک عدد دریافت کنه (تعداد ارقام این عدد مهم نیست) و تمامی اعداد جدول مربوط به فیلد مورد نظر که دارای این عدد هستند را نشون بده یعنی مثلا" اگه کاربر عدد 35 را وارد کرد تمام اعدادی که دارای عدد 35 در ابتدا (مثل3580)انتها (مثل 7735) و وسط عدد(مثل 693512) هست رو نشون بده این کار برای متغیرهای رشته ای راحت با دستور زیر انجام میشه :

SELECT * FROM TableName
WHERE FieldName LIKE '%'+@string variable+'%'

ولی برای اعداش رو نمی دونم چه جوریه

fakhravari
جمعه 24 آبان 1392, 09:01 صبح
برای اعداد از دستور cast استفاده کن.
@string variable مقدار تبدیل کنی به عدد کافی است
WHERE FieldName LIKE cast(@string variable as int)

محمد سلیم آبادی
سه شنبه 28 آبان 1392, 11:10 صبح
آیا تبدیل نوع عددی به رشته ای به صورت موقت در کوئری مجاز هست؟ اگر آری می توانید با توابع مخصوص تبدیل نوع این کار را انجام دهید
اگر هم خیر مطمئن نیستم که با فرمول ریاضی میشود این کار را انجام داد یا نه ولی مثلا در مورد سه رقم سه رقم جدا کردن یک عدد اینکار بسادگی امکان پذیر هست.


SELECT * FROM table_name WHERE CAST(column_name AS varchar(50)) LIKE '%123%';