我們需要從DATETIME列中獲取HOUR(期望返回從0到23的值)。Oracle相當於SQL Server DATEPART
是否存在與SQL Server DATEPART功能相當的Oracle?
我們需要從DATETIME列中獲取HOUR(期望返回從0到23的值)。Oracle相當於SQL Server DATEPART
是否存在與SQL Server DATEPART功能相當的Oracle?
SELECT to_number(to_char(sysdate, 'HH24')) FROM DUAL
另一種方法是將提取功能,其是一個ANSI標準,並且還適用於其他DBMS,但它也要求使用CURRENT_TIMESTAMP(也ANSI)的代替SYSDATE
SELECT extract(hour from current_timestamp)
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(current_timestamp,'HH24') from dual;
由於某種原因,人們不喜歡的提取物。但是,我覺得它非常簡單和優雅。 – clq 2015-10-15 14:09:41