タグ付けされた質問 「datetime」

日付と時刻の両方の部分を含むデータ型に固有の質問の場合。

1
LANGUAGEおよびDATEFORMATで安全な日付/時刻リテラル形式は何ですか?
それは多くの日付/時刻形式ことを実証することは容易であるほか、以下の2以上が原因SET LANGUAGE、SET DATEFORMAT、またはログインのデフォルト言語に誤解を受けやすいです。 yyyyMMdd -- unseparated, date only yyyy-MM-ddThh:mm:ss.fff -- date dash separated, date/time separated by T Tのないこの形式でさえ、有効なISO 8601形式のように見えますが、いくつかの言語では失敗します。 DECLARE @d varchar(32) = '2017-03-13 23:22:21.020'; SET LANGUAGE Deutsch; SELECT CONVERT(datetime, @d); SET LANGUAGE Français; SELECT CONVERT(datetime, @d); 結果: ドイツ連邦共和国の金型について。 メッセージ242、レベル16、状態3 備デア・Konvertierung eines varchar型-Datentyps einenのdatetime-Datentyp liegtデア・ワートaußerhalbデgültigenBereichsインチ フランセのラングパレドゥラングエストパセ。 Msg 242、レベル16、状態3 変換の種類日付の種類と日付の種類の制限なし。 今、これらは、英語で、月と日を置き換えて、次の日付コンポーネントを定式化したかのように失敗しますyyyy-dd-mm: …

3
Access(Jet)SQL:TableAの各DateTimeスタンプに隣接するTableBのDateTimeスタンプ
最初の言葉 あなたは安全に(を含む)以下のセクションを無視することができます結合します皮切りあなただけのコードの亀裂を取りたい場合。背景と結果がちょうど文脈としての役割を果たす。最初にコードがどのように表示されたかを確認するには、2015年10月6日より前の編集履歴をご覧ください。 目的 最終的には、表の観測値に直接隣接する表の利用可能なGPSデータのDateTimeスタンプに基づいて、送信機(XまたはXmit)の補間GPS座標を計算SecondTableしますFirstTable。 究極の目標を達成するための私の当面の目標は、これらの側面の時点を得るためにどのように参加FirstTableするのSecondTableが最善かを見つけることです。後で、その情報を使用して、正距円筒座標系に沿った線形近似を仮定して中間GPS座標を計算できます(このスケールでは、地球が球体であることを気にしないと言った派手な言葉)。 ご質問 最も近い前後のタイムスタンプを生成するより効率的な方法はありますか? 「after」を取得し、「after」に関連する場合にのみ「before」を取得することで、自分で修正しました。 (A<>B OR A=B)構造を含まない、より直感的な方法はありますか。 Byrdzeyeは基本的な選択肢を提供しましたが、私の「実世界」の経験は、同じことを実行する彼の4つの結合戦略すべてとは一致しませんでした。しかし、代替結合スタイルに対処したことに対する彼の完全な信用。 あなたが持つかもしれない他の考え、トリックやアドバイス。 両方Thusfar byrdzeyeとPhrancisはこの点で非常に役立っています。私は、ことがわかっPhrancis'アドバイスが、私はここに彼に端をあげるので良好、レイアウトおよび重要な段階での支援を提供しました。 質問3に関して私が受けることができる追加の助けをまだ感謝しています。 箇条書きは、個々の質問で私を最も助けたと思う人を反映しています。 テーブル定義 半視覚的表現 FirstTable Fields RecTStamp | DateTime --can contain milliseconds via VBA code (see Ref 1) ReceivID | LONG XmitID | TEXT(25) Keys and Indices PK_DT | Primary, Unique, No Null, Compound XmitID …


6
DateTimeを保存する好ましい方法
日付と時刻の情報は、いくつかの方法で保存できます。DateTime情報を保存するための最良の方法は何ですか? DateTimeを使用して2つの別々の列または1つの列に日付と時刻を保存しますか? そのアプローチが優れている理由を説明できますか? (参照用のMySQLドキュメントへのリンク。質問は一般的であり、MySQLに固有ではありません) 日付と時刻のタイプ:日付と時刻

5
日時文字列に1ミリ秒を追加する方法は?
選択に基づいて、次のようにx行を返すことができます。 1 2019-07-23 10:14:04.000 1 2019-07-23 10:14:11.000 2 2019-07-23 10:45:32.000 1 2019-07-23 10:45:33.000 ミリ秒はすべて0です。 1ミリ秒ごとに1を追加する方法があるので、選択は次のようになります。 1 2019-07-23 10:14:04.001 1 2019-07-23 10:14:11.002 2 2019-07-23 10:45:32.003 1 2019-07-23 10:45:33.004 カーソルを作成しようとしていますが、成功していません。 これは、必要な結果を取得するためのクエリです。 select top 10 ModifiedOn from [SCHEMA].[dbo].[TABLE] where FIELD between '2019-07-23 00:00' and '2019-07-23 23:59' 81kの値があります。フィールドはDATETIMEです。

1
MySQL 5.6 DateTime不正なdatetime値: '2013-08-25T17:00:00 + 00:00'とエラーコード1292
私はMySQL 5.6を使用しており、データベースに対して次のSQLステートメントを実行するプログラムがあります。 UPDATE `m_table` SET `s_time` = '2013-08-25T17:00:00+00:00' WHERE id = '123' 残念ながら、次のエラーが表示されます。不正な日時値:行1の列 's_time'の '2013-08-25T17:00:00 + 00:00' s_timeのデータ型はDateTimeです。 ワークベンチを使用してallow_invalid_datesプロパティを設定しようとしました。 誰でもこのエラーを理解して説明してもらえますか?ステートメントを手動でUPDATE m_tableSET s_time= '2013-08-25 17:00:00' WHERE id = '123'に変更すると、ステートメントが機能することを知っています。 残念ながら、SQLステートメントを提供するプログラム(プログラムの作成者によって有効であると言われています)を変更することはできません。また、+ 00:00が何を象徴しているのかも理解できません。 ありがとう
15 mysql  datetime 

3
別の月と年の列、または日付が常に1に設定されている日付?
私はPostgresを使用してデータベースを構築していますが、ここではmonthand によってグループ化されますが、によってグループ化されることはありyearませんdate。 整数monthとyear列を作成して使用できます。 または、month_year列を作成し、常にday1に設定することもできます。 前者は誰かがデータを見ている場合は少し単純で明確に見えますが、後者は適切な型を使用する点で優れています。


2
インデックス付き日時列を使用したMySQLパフォーマンスの問題
次の問題を約1時間解決しようとしましたが、それでも解決できませんでした。 さて、テーブルがあります(MyISAM): +---------+-------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+------+-----+-------------------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | http | smallint(3) | YES | MUL | 200 | | | elapsed | float(6,3) | NO | | …

2
データマート/倉庫でのタイムゾーンの処理
私たちはデータマート/倉庫のビルディングブロックを設計し始めており、すべてのタイムゾーンをサポートできる必要があります(私たちのクライアントは世界中から来ています)。オンライン(および本)でのディスカッションを読むと、一般的な解決策は、ファクトテーブルに日付と時刻の個別のディメンションとタイムスタンプを持つことです。 しかし、私が答えるのに苦労している質問は、動的なタイムゾーンの要件を考慮すると、日付と時刻のディメンションが実際にどのように役立つかです。時間ディメンションはもう少し理にかなっていますが、日付ディメンションで苦労しています。日付ディメンションの一般的な設計アプローチには、通常、曜日名、曜日、月名などのプロパティが含まれます。私が抱えている問題は、2013年12月31日火曜日の午後11時(UTC)が水曜日であることです。 、2014年1月1日、UTC + 2以降のすべてのタイムゾーン。 したがって、すべてのクエリ(およびレポート)でこれらすべてのタイムゾーン変換を行う必要がある場合、おそらく使用しない(これらのプロパティのように)これらのプロパティを保持して保存することの意味は何ですか?一部の人々は、タイムゾーンごとにファクト行を持つことを提案しますが、それは私にはばかげているようです。毎月何百万ものレコードを保存できる必要があります。 他の人は、タイムゾーンブリッジテーブルを使用することをお勧めします。これは、ある程度の意味がありますが、クライアントアプリとレポートが日付から簡単に理解できるはずのことを達成するための追加の複雑さと結合のようにも見えます(レポートは主にWebベースになります)日付の変換、表示、およびフォーマットを支援する無数のライブラリがあります)。 私が考えることができる唯一のことは、日付と時間でグループ化することの容易さとおそらくパフォーマンスですが、日付部分でグループ化することはどれほど悪いことですか(MS SQLを使用していますが、数百万の行をクエリすることになります)、または考慮する必要があります月曜日などのほとんどのリテラルはタイムゾーンが機能するときにあまり意味がないので、ほとんどの場合、時間、日、月、年の数以下の非常に単純な日付と時刻のディメンションですか?

2
日時列を秒数に変換します
SQL Serverデータベースにdatetime列があります。 列のlong値を表す新しい列を作成する良い方法は何datetimeですか?long秒数を表します。 これをlongsに変換できれば、長い数を固定量で除算できるので、期間ごとのクエリによるグループ化が簡単になると思いました。 テーブルは静的であり、データを更新または削除しません。

4
ストアドプロシージャを使用して日付範囲の毎日の行を作成する方法
特定の日付範囲の毎日のテーブルに行を作成するストアドプロシージャを作成したいと思います。ストアドプロシージャは、2つの入力(ユーザーが希望する日付範囲の開始日と終了日)を受け入れます。 それで、私がそのようなテーブルを持っているとしましょう: SELECT Day, Currency FROM ConversionTable DayはDateTimeであり、Currencyは単なる整数です。 話を簡単にするために、これらの挿入された行ごとにCurrency列を常に1にしたいとします。したがって、誰かが「2017年3月5日」を開始日として入力し、「2017年4月11日」を終了日として入力した場合、次の行を作成します。 2017-03-05 00:00:00, 1 2017-03-06 00:00:00, 1 ... 2017-04-11 00:00:00, 1 これを行うためにストアドプロシージャをコーディングする最良の方法は何ですか?私のテスト環境ではSQL Server 2008 R2を使用していますが、実際の環境ではSQL Server 2012を使用しているため、このタスクを容易にする新しい機能が2012年に導入された場合、テストマシンをアップグレードできます。

1
同じ列内の日付の合計間隔
インターリーブする行間の同じ列の日付の範囲の違いをどのように合計するのが最適ですか?日時列があり、行間の差を計算したいと思います。秒の差が欲しい。この質問は、2つのタイムスタンプの違いを取得する方法ではなく、同じテーブルの行間で最も効率的に計算する方法に重点を置いています。私の場合、各行には2つの行を論理的にリンクするdatetimeのeventypeがあります。 開始と終了のイベントタイプをグループ化する方法に関連する詳細。(Andriy Mの質問)開始と終了は「すべき」です。開始に後続の終了がない場合は、合計から除外する必要があります。次の開始に移動して、終了があるかどうかを確認します。合計秒数の合計には、連続する開始-終了ペアのみを追加する必要があります。 postgresql 9.xでの作業... 表のデータの例。 eventtype, eventdate START, 2015-01-01 14:00 END, 2015-01-01 14:25 START, 2015-01-01 14:30 END, 2015-01-01 14:43 START, 2015-01-01 14:45 END, 2015-01-01 14:49 START, 2015-01-01 14:52 END, 2015-01-01 14:55 すべての開始日と終了日は連続していることに注意してください。 これが私の最初の試みです。動作しているようです。 SELECT -- starts.* SUM(EXTRACT(EPOCH FROM (eventdate_next - eventdate))) AS duration_seconds FROM ( WITH x AS ( …


1
GETUTCDATEがSYSDATETIMEOFFSETよりも早いのはなぜですか?
あるいは、マイクロソフトはどのようにしてタイムトラベルを可能にしたのですか? このコードを考えてみましょう: DECLARE @Offset datetimeoffset = sysdatetimeoffset(); DECLARE @UTC datetime = getUTCdate(); DECLARE @UTCFromOffset datetime = CONVERT(datetime,SWITCHOFFSET(@Offset,0)); SELECT Offset = @Offset, UTC = @UTC, UTCFromOffset = @UTCFromOffset, TimeTravelPossible = CASE WHEN @UTC < @UTCFromOffset THEN 1 ELSE 0 END; @Offsetはの前 @UTCに設定されますが、後の値になることもあります。(私はSQL Server 2008 R2とSQL Server 2016でこれを試しました。疑わしい出来事をキャッチするには、数回実行する必要があります。) これは、単に丸めや精度の欠如の問題であるようには見えません。(実際、丸めは時々問題を「修正」するものだと思います。)サンプル実行の値は次のとおりです。 オフセット 2017-06-07 12:01:58.8801139 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.