View Full Version : جستجوی یک عدد در یک رشته آرایه ای
blackeve
شنبه 06 آبان 1385, 10:08 صبح
سلام دوشتان
من مشکلی داشتم که درست نمی دونم آیا چنین امکانی برای SQL وجود داره یا نه.
من توی یه سطوت مقداری مثل زیر دارم :
23, 8, 7, 21, 80, 93, 45, 0, 9, 32, 73, 21
باید ببینم آیا یک عدد در لیست مورد نظر وجود داره یا نه و اگر وجود داره سطر مورد نظر رو برگردونه
برای مثال چک کنم که عدد 23 توی کدوم سطر وجود داره و اون رو برگردونم
با استور پروسیجر هم اگه باشه مشکلی نداره
ممنون میشم کمک کنید
h_baqery
شنبه 06 آبان 1385, 10:19 صبح
یه راه سادش اینه که مقادیر رشته رو به یک جدول temp وارد کنی و مقدار رو پیدا کنی . به این شکل :
declare @start int
declare @count int
set @start= 1
set @count= 0
create table #SubAccount([SubAccount] varchar(20) collate arabic_Ci_As)
lable1:
set @count = charindex(',',@SubAccount,@start)
if @count>0 begin
insert into #SubAccount
select substring(@SubAccount,@start,@count-@start)
set @start=@count+1
end else begin
insert into #SubAccount
select substring(@SubAccount,@start,len(@SubAccount))
end
if @count <> 0 goto lable1
پارامتر subaccount مقدار ستون شماست که به این کد پاس می شه و در جدول #subaccount ریز مقادیر رشتتون رو وارد می کنه . با select از این جدول می تونید مشکلتون رو حل کنید .
اگر توضیح بیشتری خواستید بگید .
blackeve
شنبه 06 آبان 1385, 10:26 صبح
دستتون در نکنه ولی امکانش هست توضیح بیشتری بدید من زیاد حرفه ای نیستم..
h_baqery
شنبه 06 آبان 1385, 10:37 صبح
کافیه یه کرزر بنویسی که روی جدول حرکت کنه و هر رکورد رو با استفاده از کد بالا وارد یه جدول کنه و اگر اون عدد مورد نظر شما در اون جدول(#subaccount) وجود داشت به عنوان select برگردونه یا اونم تو یه جدول temp وارد بشه و در پایان کرزر select بشود .
blackeve
شنبه 06 آبان 1385, 10:56 صبح
مشکل حل شد...
واسه رشته هم مشکلی نداره؟ مشه یه رشته رو هم پیدا کرد البته اگه رشته با "," جدانشده باشه یه چیزی تو مایه های LIKE
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.