問題タブ [datediff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
18580 参照

sql - SQL Server/Sybase DateDiff に相当する Oracle

現在、NHibernate を使用して、ソフトウェアがインストールされている場所に基づいて別のデータベースに接続しています。そのため、多くの SQL プロシージャを Oracle に移植しています。

SQL Server には DateDiff という便利な関数があり、日付部分、開始日、および終了日を取ります。

日付部分の例は、日、週、月、年などです。.

Oracleに相当するものは何ですか?

独自のバージョンを作成する必要がありますか?

(Mark Harrison による更新) Oracle の日付演算を説明する素晴らしい回答がいくつかあります。Oracle の datediff() が必要な場合は、Einstein の回答を参照してください。(これは、Sybase と Oracle の間で spme SQL スクリプトの互換性を維持するために必要です。) この質問は Sybase にも同様に当てはまることに注意してください。

0 投票する
4 に答える
9815 参照

sql-server - 現在の行と次の行の間のdatediffを計算するSQL Serverの最良の方法は?

私は次の大まかな構造を持っています:

データは複数のオブジェクト間で共有できます。

私がやろうとしているのは、古いオブジェクト リビジョンを一掃することです。一定期間の最後の変更が保持されるように、最初の、アクティブな、およびリビジョンの広がりを保持したいと考えています。データは 2 日間で大幅に変更され、その後数か月間放置される可能性があるため、変更が開始される前の最後のリビジョンと新しいセットの最後の変更を保持したいと考えています。

私は現在、カーソルと一時テーブルを使用して ID と変更間の日付を保持しているので、簡単に解決できる成果を選択して取り除くことができます。これは、@LastID、@LastDate、一時テーブルへの更新と挿入などを使用することを意味します...

カーソルと一時テーブルを使用せずに、最初の結果セットの現在の行と次の行の日付の差を計算するより簡単で良い方法はありますか?

私はSQL Server 2000を使用していますが、これにも役立つ2005年、2008年の新機能に興味があります。

0 投票する
24 に答える
152274 参照

tsql - 年、月、日を使用して T-SQL で年齢を計算する方法

T-SQL (SQL Server 2000) で誰かの年齢を年、月、日で計算する最良の方法は何ですか?

このdatediff関数は年の境界をうまく処理できません。また、月と日を別々に取得するのは面倒です。クライアント側で比較的簡単に実行できることはわかっていますが、ストアド プロシージャで実行したいと考えています。

0 投票する
9 に答える
20752 参照

mysql - (mysql または perl 側で) SQL の結果に空の日付を埋め込む最も簡単な方法は何ですか?

次のようなクエリを使用して、mysql テーブルから簡単な csv を作成しています。

そして、それらをperlのファイルにダンプするだけです:

ただし、データには日付のギャップがあります。

データをパディングして、欠落している日数をゼロカウントのエントリで埋めて、次のようにしたいと思います。

私は非常にぎこちない (そしてほぼ間違いなくバグのある) 回避策を、1 か月あたりの日数の配列といくつかの計算でまとめましたが、mysql または perl 側のいずれかでもっと簡単なものが必要です。

なぜ私がそんなに愚かなのかについて、何か天才的なアイデア/平手打ちはありますか?


いくつかの理由から、問題の日付範囲の一時テーブルを生成するストアド プロシージャを使用することになりました。

  • 毎回検索する日付範囲を知っている
  • 問題のサーバーは、残念ながら atm に perl モジュールをインストールできるものではなく、リモートで何もインストールされていないほど老朽化していました。

Perl の Date/DateTime 反復回答も非常に良かったです。複数の回答を選択できたらいいのにと思います。

0 投票する
3 に答える
4264 参照

sql - SQL(?): 2 つの日時値の間の時間をカウントする

時間 08:00:00-16:00:00 の間の時間のみをカウントする必要がある場合に、MySQL からフェッチされた 2 つの日時値の間の時間をカウントする最良の方法は何ですか?

たとえば、値が 2008-10-13 18:00:00 と 2008-10-14 10:00:00 の場合、時差は 02:00:00 になります。

SQLでそれを行うことができますか、それを行うための最良の方法は何ですか? 私はウェブサイトを構築していて、PHPを使用しています。

回答ありがとうございます。

編集:正確なことは、勤務時間中に「チケット」が特定の状態にあった時間を数えようとしているということです。時間は数週間のようです。

EDIT2: 実際の時差を数えるのは問題ありませんが、1 日あたりのオフタイム 00:00:00-08:00:00 と 16:00:00-00:00:00 を差し引きます。

-サムリ

0 投票する
4 に答える
165687 参照

sql - Oracle - 2つのDateTime列の分単位の差を取得するための最良のSELECT文?

クライアントからのかなり難しいレポート リクエストを実行しようとしています。2 つの DateTime 列の違いを数分で取得する必要があります。さまざまな形式で切り捨てと丸めを使用しようとしましたが、意味のある組み合わせを思いつくことができないようです。これを行うエレガントな方法はありますか?そうでない場合、これを行う方法はありますか?

0 投票する
14 に答える
33567 参照

c# - 特定の日付範囲の月曜日の数をカウントします

日付範囲を指定すると、その範囲内の月曜日(または火曜日、水曜日など)の数を知る必要があります。

私は現在C#で働いています。

0 投票する
4 に答える
10221 参照

sql - SQL: DATEDIFF を取得して負の値を返さないようにする

実行可能ファイルのランタイムを取得するクエリがあります。データベースには、開始時刻と終了時刻が含まれています。実行の合計時間を取得したいと思います。これまでのところ、私は持っています:

これを実行すると、期待値と予期しない値が得られます。たとえば、starttime = 2008-11-02 15:59:59.790 および endtime = 2008-11-02 19:05:41.857 の場合、ランタイムは = 4:-54 です。この場合、MS SQL SMS でクエリを取得して値 3:06 を返すにはどうすればよいですか?

ありがとう。

私が答えとして選択したEoin Campbell'sは、私のニーズに最も適しています. David B'sも同様に実行可能です。

0 投票する
21 に答える
235011 参照

mysql - MySQL の日付間の月の差

2 つの日時フィールド間の月数を計算しようとしています。

Unix タイムスタンプを取得し、2 592 000 (秒) で割り、MySQL 内で切り上げるよりも良い方法はありますか?