簡體   English   中英

Oracle相當於SQL Server DATEPART

[英]Oracle equivalent to SQL Server DATEPART

我們需要從DATETIME列中獲取HOUR(期望返回0到23之間的值)。

是否有Oracle等效的SQL Server DATEPART功能?

另一種選擇是EXTRACT函數,它是ANSI標准,也適用於其他DBMS,但它還需要使用current_timestamp(也是ANSI)而不是sysdate

SELECT extract(hour from current_timestamp) 
FROM dual
 SELECT to_number(to_char(sysdate, 'HH24')) FROM DUAL

我想這就是你要找的東西

select to_char(current_timestamp,'HH24') from dual;

有關在oracle中使用DATEPART類函數的其他方法

DATEPART:-Weekday

- 這將為參考開始日的一周提供一天

DECLARE
Start_day date:=to_date('30-03-2012','DD-MM-YYYY');
check_date DATE:=SYSDATE;
Day_of_week NUMBER;
i NUMBER;
BEGIN
i:=to_char(Start_day,'D');
day_of_week:=mod((to_char(check_date,'D') -(i-1)+7),7);
if day_of_week=0
THEN
day_of_week:=7;
end if;
dbms_output.put_line(day_of_week);
END;    

如果你想得到一個日期的月份名稱

select to_char( 'month', sysdate())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM