PDA

View Full Version : کار با رشته ها



yaldabarani
چهارشنبه 03 اسفند 1390, 14:30 عصر
سلام دوستان چند سوال:
a :درsql تابعی است که یک عبارت رو گرفته و تعداد کلمات اونو برگردونه؟
b: اگه بخوام فیلدی رو بر اساس تعداد کلمات اون مرتب کنم باید چکار کنم مثلا
1 مداد
2 مداد رنگی فرمز
3 رنگ قرمز
4 رنگ قرمز وسن
بعد از مرتب کردن راشته باشم :

1 رنگ قرمز وسن
2 مداد رنگی فرمز
3 رنگ قرمز
4مداد
c: اگر داشته باشم
1 رنگ
2 مداد
3 رقرمز
4 روشن
چه طوز میتونم خروجی زیر رو داشته باشم

1 رنگ مداد قرمز روشن
2 رنگ مداد فرمز
3 مداد قرمز روشن
4 رنگ مداد
5 مداد قرمز
6 قرمز روشن
7 رنگ
8 مداد
9 قرمز
10 روشن

باسپاس

nedata
چهارشنبه 03 اسفند 1390, 16:01 عصر
اين يك مثال است.براي استفاده بايد تبديل به يك فانكشن شود.

declare @Temp nchar(30),@Cnt int
Set @Temp='مداد قرمز رنگي'
if charindex(' ',ltrim(rtrim(@Temp)))>0
Set @Cnt=1
else
Set @Cnt=0
while charindex(' ',ltrim(rtrim(@Temp)))>0
begin
if charindex(' ',ltrim(rtrim(@Temp)))>0
Set @Cnt=@Cnt+1
select @Temp=ltrim(rtrim(Substring(@Temp,charindex(' ',@Temp)+1,len(@Temp))))
end
print @Cnt