PDA

View Full Version : درباره جدا کردن time در SQL



iamehsan56
سه شنبه 19 خرداد 1388, 14:03 عصر
سلام
من یه فیلد datetime دارم (dtm_field)که ازش می خوام time رو در بیارم و باهاش select کنم


مثلا مثل زیر . البته من syntax رو نمی دونم .





select * from Mytable where time (dtm_Field)='12:30'




لطفا راهنمایی فرمایید

shahrokhkian
سه شنبه 19 خرداد 1388, 18:05 عصر
از Like استفاده کن

iamehsan56
چهارشنبه 20 خرداد 1388, 09:16 صبح
من نمی دونم چرا پستا رو پاک کردن . چطور می شه تو یه بازه زمانی sort کرد . این سوال منه . پس like به این کار نمی آد . مثلا هر روز از تاریخ 1-1-2009 تا 1-10-2009 ساعتهای بین 13:00 تا 14:00
اگه بدونم عدد time یعنی hour ,minute ,second رو از یه field datetime در بیارم می تونستم اینکارو بکنم . year , month,day در می آد .اما ساعت و دقیقه رو چیکار می شه کرد . لطفا کمک

Saeed_m_Farid
چهارشنبه 20 خرداد 1388, 09:35 صبح
شما بانکتون رو نفرمودین، با فرض اینکه SQL-Server باشه میتونید از تابع DATEPART استفاده کنید، این کد پایین قسمتهای مختلف یه زمان رو برمیگردونه، شما از همین تابع تو بخش Where هم میتونی استفاده کنی:


===============================

SELECT DATEPART(hh, dtm_Field) As MyHour,
DATEPART(mm, dtm_Field) As MyMin,
DATEPART(ss, dtm_Field) As MySec
From MyTable

===============================

year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
hour hh
minute mi, n
second ss, s
millisecond ms

===============================

درضمن این سوال شما ربطی به دلفی نداره مگه اینکه بخوای تو دلفی این کار رو انجام بدی که با FormatDtaTime میشه اینکار رو انجام داد که یه مزیت داره و یه عیب :


مزیت : عدم وابستگی به نوع بانک؛ یعنی شما از توابع انحصاری بانک خاصی استفاده نمی کنی
عیب : کاهش چشمگیر سرعت تو تعداد زیاد رکوردها

iamehsan56
چهارشنبه 20 خرداد 1388, 10:17 صبح
ممنون .اما چیزی که از ساعت و دقیقه در می آره اشتباهه . می شه به ضمیمه نگاه کنید

iamehsan56
چهارشنبه 20 خرداد 1388, 10:20 صبح
در ضمن بانک من SQL SERVER هست

Saeed_m_Farid
چهارشنبه 20 خرداد 1388, 10:24 صبح
ممنون .اما چیزی که از ساعت و دقیقه در می آره اشتباهه . می شه به ضمیمه نگاه کنید
آره بجای mm باید بذاری mi یا n : اشتباه از من بود.
ضمناً لطفاً پستهای تکراری ندین، چون احبمالاً آخرش به جریمه تون ختم میشه!

iamehsan56
چهارشنبه 20 خرداد 1388, 10:33 صبح
مرسی جای mm باید minute یا min گذاشت