質問

私の理解では、Interbase v6 に準拠して、Firebird 2.5 は SQL-92 をサポートしていません。 INTERVAL キーワード。少なくともそう示唆している このリファレンス そして、取得しようとして繰り返しSQLCODE -104エラーが発生しました INTERVALFirebird の下で働くこと isql(1).

では、私たちの民間の時間計算における不規則性をどのように説明すればよいのでしょうか。月は一律に長いわけではなく、また、混乱の年などは言うまでもなく、節約時間や閏調整のある日も長くありません。-- 演奏するとき TIMESTAMP Firebird 2.1 での算術演算?

指定された日付より「1 か月前」または「1 週間後」を簡単に判断するにはどうすればよいですか? TIMESTAMP?「1日後」や「2時間前」はどうでしょうか?

役に立ちましたか?

解決

を使用できます。 DateAdd() そして DateDiff() 組み込み関数。
あるいは、クラシックを使用することもできます 日付算術.

他のヒント

これはFirebirdのでは実装されていない場合は、多分あなたは、SQL Serverを呼び出す技術を通してそれをやる、そして得られたタイムスタンプを得ることができますか?私はそれが非常に簡単にJavaで行うことができます知っているまたは.NET

また、機能は、外部UDF fbudf.dllのを使用することができます

http://rfunc.sourceforge.net/ のそれは、

rFuncという名前の素敵な外部UDFがありますDaysBetweenとIncDate(D、I1、I2、I3)のような素敵な日付関数と、より多くを持っている。

  1. 月が変わるまで、ループ内のタイムスタンプの日付から 1 日を減算します。
  2. 曜日が日曜日に変わるまで、ループ内のタイムスタンプの日付から 1 日を減算します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top