3

MySql tumestampdiff 関数と同じように機能する独自の timestampdiff(DAY, first_date ,second_date) 関数を作成しようとしていました。

しかし、最初の引数のデータ型が何であるかを理解できないため、キーワード day 、 month 、または year を受け入れることができます。

関数の引数でこれがどのような種類のデータ型であるかについて、専門家のコメントが必要ですか?

次に、mysql の組み込み関数の実装はどこで確認できますか。

分かりやすくするには、次のようにします。

質問がありますselect * from application a where timestampdiff(DAY,a.created_date, CURRENT_TIMESTAMP(3)) >= 30;

上記のクエリを oracle と mysql の両方で実行する必要があります。

あなたが私の要点を理解したことを願っています。コードを変更する必要がなく、両方のデータベースでサポートされるように、オラクルで同じ関数を作成することを考えました。

上記では、関数を最初のパラメーター型にする必要があるかどうかを判断できません。

ありがとう

4

1 に答える 1

0

timestampdiffオラクルにはすでに関数があるため、独自の関数を作成する必要はないと思います: EXTRACT

EXTRACT(DAY from (first_date - second_date))

何らかの理由でそれを行いたい場合はdatatype、「datefield」キーワード (YEAR、MONTH、DAY など) はないと思います。
しかし、これは有限集合であるため、 を取得して、コードにVARCHAR2いくつかのifステートメントを含めることができます...

于 2012-10-26T09:57:39.270 に答える