3

我正在尝试编写自己的 timestampdiff(DAY, first_date ,second_date) 函数,该函数与 MySql tumestampdiff 函数相同。

但我无法理解第一个参数的数据类型是什么,以便它可以接受关键字日、月或年。

需要专家评论,因为函数参数中这是哪种数据类型?

其次,我在哪里可以看到 mysql 内置函数的实现。

好的要增加清晰度:

我有一个查询select * from application a where timestampdiff(DAY,a.created_date, CURRENT_TIMESTAMP(3)) >= 30;

我希望上面的查询应该在 oracle 和 mysql 中运行。

希望你明白我的意思。我想在 oracle 中编写相同的函数,这样我就不必做任何代码更改,并且两个数据库都支持它。

现在在上面我无法确定我是否要编写函数应该是第一个参数类型。

谢谢

4

1 回答 1

0

我认为您不需要编写自己的timestampdiff函数,因为 oracle 已经有一个:EXTRACT

EXTRACT(DAY from (first_date - second_date))

如果出于某种原因,您确实想这样做,那么我认为没有datatype“日期字段”关键字(年、月、日等)。
但由于它是一个有限集,你可以得到 aVARCHAR2并在你的代码中有一些if语句......

于 2012-10-26T09:57:39.270 回答