سؤال

يمكنني استخراج الشهر واليوم باستخدام Day(Date()), Month(Date()). وبعد لا أستطيع استخراج ساعات، مع HOUR(Date()). وبعد أحصل على الخطأ التالية.

'HOUR' is not a recognized built-in function name.

كيف يمكنني استخراج ساعات؟

هل كانت مفيدة؟

المحلول

SELECT DATEPART(HOUR, GETDATE());

DATEPART توثيق

نصائح أخرى

... يمكنك استخدامه على أي نوع الحبيبية IE:

DATEPART(YEAR, [date])

DATEPART(MONTH, [date]) 

DATEPART(DAY, [date])    

DATEPART(HOUR, [date]) 

DATEPART(MINUTE, [date])

(ملاحظة: أنا أحب [] حول تاريخ الكلمات المحجوزة. بالطبع في حالة تمييز العمود الخاص بك مع Timestamp "تاريخ")

يستخدم DatePart..

على سبيل المثال:

datepart(hh, date)

جرب هذا واحد أيضا:

   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

LiveDemo

to_char (current_timestamp، 'yyyy') // لاستخراج التاريخ فقط to_char (current_timestamp، 'hh24') // لاستخراج ساعة فقط

يجب عليك استخدام DeatePart ()

like 


datepart(hour , getdate())
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top