استخراج ساعات من DateTime (SQL Server 2005)
-
12-09-2019 - |
سؤال
يمكنني استخراج الشهر واليوم باستخدام Day(Date())
, Month(Date())
. وبعد لا أستطيع استخراج ساعات، مع HOUR(Date())
. وبعد أحصل على الخطأ التالية.
'HOUR' is not a recognized built-in function name.
كيف يمكنني استخراج ساعات؟
المحلول
SELECT DATEPART(HOUR, GETDATE());
نصائح أخرى
... يمكنك استخدامه على أي نوع الحبيبية IE:
DATEPART(YEAR, [date])
DATEPART(MONTH, [date])
DATEPART(DAY, [date])
DATEPART(HOUR, [date])
DATEPART(MINUTE, [date])
(ملاحظة: أنا أحب [] حول تاريخ الكلمات المحجوزة. بالطبع في حالة تمييز العمود الخاص بك مع Timestamp "تاريخ")
جرب هذا واحد أيضا:
DATEPART(HOUR,GETDATE())
DATEPART(HOUR, [date])
إرجاع الساعة في الوقت العسكري (00 إلى 23) إذا كنت تريد 1 صباحا، 3 مساء، إلخ، تحتاج إلى حالة ذلك:
SELECT Run_Time_Hour =
CASE DATEPART(HOUR, R.date_schedule)
WHEN 0 THEN '12AM'
WHEN 1 THEN '1AM'
WHEN 2 THEN '2AM'
WHEN 3 THEN '3AM'
WHEN 4 THEN '4AM'
WHEN 5 THEN '5AM'
WHEN 6 THEN '6AM'
WHEN 7 THEN '7AM'
WHEN 8 THEN '8AM'
WHEN 9 THEN '9AM'
WHEN 10 THEN '10AM'
WHEN 11 THEN '11AM'
WHEN 12 THEN '12PM'
ELSE CONVERT(varchar, DATEPART(HOUR, R.date_schedule)-12) + 'PM'
END
FROM
dbo.ARCHIVE_RUN_SCHEDULE R
select case when [am or _pm] ='PM' and datepart(HOUR,time_received)<>12
then dateadd(hour,12,time_received)
else time_received
END
from table
ويعمل
يتم استخدام وظيفة DeatePart () لإرجاع جزء واحد من تاريخ / وقت، مثل العام والشهر واليوم والساعة والدقيقة، إلخ.
datepart ***Abbreviation
year ***yy, yyyy
quarter ***qq, q
month ***mm, m
dayofyear ***dy, y
day ***dd, d
week ***wk, ww
weekday ***dw, w
hour ***hh
minute ***mi, n
second ***ss, s
millisecond ***ms
microsecond ***mcs
nanosecond ***ns
مثال
select *
from table001
where datepart(hh,datetime) like 23
لا أستطيع استخراج ساعات، مع ساعة (التاريخ ())
هناك طريقة للاتصال HOUR
(لن أوصي باستخدامه على الرغم من وجود DATEPART
وظيفة) باستخدام وظائف ODBC العددية:
SELECT {fn HOUR(GETDATE())} AS hour
to_char (current_timestamp، 'yyyy') // لاستخراج التاريخ فقط to_char (current_timestamp، 'hh24') // لاستخراج ساعة فقط
يجب عليك استخدام DeatePart ()
like
datepart(hour , getdate())