有如下SQLSERVER 表值函数 转换成ORACLE下的函数如何写?
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
goCREATE FUNCTION [dbo].[GetTimeSteps](
@StartTime DATETIME, --起始时间
@EndTime DATETIME, --结束时间
@StepUnit INT, --时间单位 0-秒 1-分 2-时 3-日 4-周 5-月
@StepLong INT --时间步长
)RETURNS @TimeSteps TABLE(
ID INT IDENTITY(1,1),
StartTime DATETIME,
EndTime DATETIME
)
AS
BEGIN
DECLARE @TimePos DATETIME IF (@StepUnit=0) --秒
BEGIN
SELECT @TimePos=DATEADD(ms,-DATEPART(ms,@StartTime)+@StepLong*1000,@StartTime) --下一个开始时间点

WHILE (@StartTime<@EndTime)
BEGIN
IF (@TimePos>@EndTime)
BEGIN
INSERT INTO @TimeSteps VALUES(@StartTime,@EndTime)
BREAK
END
ELSE
INSERT INTO @TimeSteps VALUES(@StartTime,DATEADD(ms,-3,@TimePos))
SET @StartTime=@TimePos
SET @TimePos=DATEADD(ss,@StepLong,@TimePos)
END
END 
(还有些类似没有写了)
RETURN
END