پنل اس ام اس
صفحه: [1]   پایین
  چاپ صفحه  
نويسنده موضوع: در آوردن کلمات از یک رشته  (دفعات بازدید: 2088 بار)
hamidli87
کاربر جدید
*

تشكرها : 0
آفلاین آفلاین

تعداد ارسال: 18


ديدن مشخصات
« : 22 مرداد 1390,ساعت 12:02:18 »

سلام به همه مخصوصا آقای کیانی
میخواستم بدونم چه طوری میشه در یک رشته ای مثل این
کد:
'08/08/2011  08:52 PM    <DIR>         .
08/08/2011  08:52 PM    <DIR>          ..
08/08/2011  08:52 PM    <DIR>          Contacts
08/08/2011  09:35 PM    <DIR>          Desktop
08/08/2011  09:44 PM    <DIR>          Documents
08/08/2011  09:33 PM    <DIR>          Downloads
08/08/2011  08:52 PM    <DIR>          Favorites
08/08/2011  08:52 PM    <DIR>          Links
08/08/2011  08:52 PM    <DIR>          Music
08/08/2011  08:52 PM    <DIR>          Pictures
08/08/2011  08:52 PM    <DIR>          Saved Games
08/08/2011  08:52 PM    <DIR>          Searches
08/08/2011  08:52 PM    <DIR>          Videos
               0 File(s)              0 bytes
              13 Dir(s)  60,181,385,216 bytes free'
در یک جدول به صورت جداکانه یک ستون تاریخ یک ستون تایم یک ستون هم اسم و یک ستون هم< dir > را نگه داشت
« آخرين ويرايش: 10 شهريور 1390,ساعت 01:57:22 توسط مجتبی چنانی » خارج شده است
hamidli87
کاربر جدید
*

تشكرها : 0
آفلاین آفلاین

تعداد ارسال: 18


ديدن مشخصات
« پاسخ #1 : 09 شهريور 1390,ساعت 21:45:33 »

کد:
Declare @Dir VarChar(Max)

Declare @Result Table
(
[Date] Date ,
[Time] Time ,
[Type] VarChar(300) Not Null,
[Name] nVarChar(400) Not Null,
[Size] nVarChar(40) null
)

Declare @Test Table
(
Id Int Identity Primary Key,
Line nVarCHar(Max) Not Null
)

Select @Dir =
'2011-08-11  04:06 PM    <DIR>          assignmentS
2011-07-25  12:32 AM       730,755,072 ayinnameh.i
2011-08-08  09:20 PM    <DIR>          Backup
2011-08-08  12:21 AM    <DIR>          Designer
2011-08-10  12:04 AM    <DIR>          E-Book
2011-07-22  01:54 PM    <DIR>          english
2011-08-13  01:26 PM     4,189,339,648 FujitsuDriv
2011-08-08  10:10 PM    <DIR>          Hamidreza
2011-08-08  03:59 PM    <DIR>          Learning SQ
2011-08-08  03:58 PM    <DIR>          LearnVisual
2011-07-08  03:23 PM    <DIR>          music
2011-07-08  03:26 PM               207 New Text Do
2011-07-17  04:49 PM    <DIR>          pic
2011-04-08  11:51 PM         1,220,608 U1004.exe
               4 File(s)  4,921,315,535 bytes
              10 Dir(s)  76,512,272,384 bytes free' + CHAR(13)            

Declare @i Int,
@start Int,
@Line nVarChar(Max)

Select @i = CHARINDEX(CHAR(13), @Dir),
@start = 0

while(@i != 0)
Begin
Select @Line = Replace(SUBSTRING(@Dir, @start, @i - @start), CHAR(13) + CHAR(10), '')

Declare @Date Date,
@Time Time,
@Type nVarChar(40),
@Name nVarChar(40) ,
@Size nVarChar(40)


--IsDate
Begin Try
Select @Date = SUBSTRING(@Line,1 ,10),
@Time = SUBSTRING(@Line,12, 9)
End Try
Begin Catch
Select @Date = Null,
@Time = Null
End Catch


If SUBSTRING(@Line,25,5) = '<DIR>'

Begin
Select @Type = SUBSTRING(@Line,25,5)
Select @Name = SUBSTRING(@Line,40,20)
Select @Size = ''
End
Else

Begin
Select @Type = ''
Select @Size = SUBSTRING(@Line,25,14)
Select @Name = Replace(SUBSTRING(@Line,40,20),'bytes','')
Select @Name = REPLACE(@Name,'free','')

End

Insert Into @Result
([Date], [Time], [Type], [Name],[Size])
Values
(@Date, @Time, @Type,@Name,@Size)



Set @start = @i

Select @i = CHARINDEX(CHAR(13), @Dir, @start + 1)
End

Select *
From @Result
« آخرين ويرايش: 10 شهريور 1390,ساعت 02:02:09 توسط مجتبی چنانی » خارج شده است
انجمن تخصصی استادان و دانشجویان کامپیوتر ایران
   

هاست پرسرعت
 خارج شده است
صفحه: [1]   بالا
  چاپ صفحه  
 
پرش به :