問題タブ [datetime]
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.
sql-server - datetime 値の時間部分を削除する方法 (SQL Server)?
これが私が使用するものです:
私は、より良い、よりエレガントな方法があるかもしれないと考えています。
要件:
- できるだけ速くする必要があります (キャストが少ないほど良い)。
- 最終結果は
datetime
、文字列ではなく型でなければなりません。
tsql - Sybase(T-SQL)でのvarchar日付検証の最良の方法は?
後で使用するために日時としてキャストする必要があるvarcharをパラメーターとして受け取るストアドプロシージャがあります。
日付文字列は「DD-MON-YYYY」の形式で提供されることを期待していますが、防御的にコーディングするために、何らかの理由で正常にキャストできない場合は、デフォルトでシステムの日付と継続する。PL / SQLでは、例外処理を使用してこれを実現でき、正規表現でもかなり簡単に実行できましたが、Sybaseでサポートされている制限付きのパターンマッチングではこれを実行できず、信頼できません。サードパーティのライブラリまたは拡張機能。T-SQLでこれを行う簡単な方法はありますか?
注意:Sybase ASE 12.5.3を使用する場合、ISDATE関数はありません。
sql-server - 日付文字列を SQL Server の日時と比較しますか?
SQL Server にDATETIME
は、時間要素を含む列があります。
例:
時間の部分を無視して、特定の日のレコードのみを選択する最良の方法は何ですか?
例: (時間の部分と一致せず、行を返さないため、安全ではありません)
注: このサイトは、拾って忘れたメモやテクニックを書き留めることも目的としているため、MSSQL の DATETIME に関する内容はおそらく SQLBOL で最も検索するトピックであるため、この質問に対する私自身の回答を投稿します。
明確化された例を更新して、より具体的にします。
編集申し訳ありませんが、間違った回答 (間違った結果を返す回答) を修正する必要がありました。
@Jorrit: WHERE (date>'20080813' AND date<'20080815')
13 番目と 14 番目を返します。
@wearejimbo:閉じますが、葉巻はありません! あなたに授与されるバッジ。2008 年 8 月 14 日 23:59:001 から 23:59:999 に書き込まれたレコードを見逃しました (つまり、真夜中の 1 秒前)。
.net - DateTime を解析して RFC 3339 日時形式に変換するにはどうすればよいですか?
DateTime 構造を同等のRFC 3339形式の文字列表現に変換したり、この文字列表現を解析してDateTime構造に戻したりするにはどうすればよいですか? RFC-3339 日時形式は、Atom Syndication Formatなどの多くの仕様で使用されています。
php - 異なるタイムゾーンでのPHPサーバーとMySQLサーバーの処理
GoDaddyやNetworkSolutionsなどの標準の共有ホスティングパッケージを使用している私たちにとって、ホスティングサーバー(PHP)とMySQLサーバーが異なるタイムゾーンにある場合、日時変換をどのように処理しますか?
また、サイトへの訪問者がどのタイムゾーンにいるかを判断し、日時変数を適切に操作するためのベストプラクティスのアドバイスはありますか?
python - time.mktime を使用した日付/時刻変換が間違っているようです
time.mktime
エポックからの秒数を返す必要があります。私は真夜中に時間を与えており、エポックは真夜中にあるので、結果は 1 日の秒数で割り切れないのでしょうか?
sql - TSQL で 2 つの日時が同じ暦日にあるかどうかを確認する良い方法は何ですか?
私が抱えている問題は次のとおりです。2 つの日付が同じ日であるかどうかを確認するために、where 句で日時を比較する必要がある大きなクエリがあります。私の現在の解決策は、日時をUDFに送信して同じ日の真夜中に変換し、それらの日付が等しいかどうかを確認することです。クエリ プランに関して言えば、結合または where 句のほとんどすべての UDF と同様に、これは惨事です。これは、関数を根こそぎにして、最適なインデックスを見つけるために実際に使用できるものをクエリ オプティマイザーに与えることができなかったアプリケーション内の唯一の場所の 1 つです。
この場合、関数コードをクエリにマージすることは非現実的です。
ここで単純なものが欠けていると思います。
参考までに機能はこちら。
問題を複雑にするために、タイムゾーンテーブルに参加して、日付を現地時間と比較しています。これは、行ごとに異なる可能性があります。
[編集]
@Todd の提案を取り入れています。
datediff がどのように機能するかについての私の誤解 (連続した年で同じ年が 366 になり、予想どおり 0 ではありません) により、多くの労力が無駄になりました。
しかし、クエリ プランは変更されませんでした。全体として、最初からやり直す必要があると思います。
.net - .NETの自然言語の日付/時刻パーサー?
Chronic for Ruby(「明日」や「次の木曜日の午後3時」などを処理する)に似た.NET日付/時刻パーサーを知っている人はいますか?
注:私はRuby(Chronicについて知っている方法)を作成しますが、このプロジェクトでは.NETを使用する必要があります。
sql-server - SQLServerの日時変換の失敗
100万件以上のレコードがある大きなテーブルがあります。残念ながら、テーブルを作成した人は、varchar(50)
フィールドに日付を入力することにしました。
簡単な日付比較を行う必要があります-
しかし、それは失敗しますconvert()
:
どうやらその分野には嫌いなものがあり、レコードが多いので見ただけではわかりません。日付フィールド全体を適切にサニタイズして、失敗しないようにするにはどうすればよいconvert()
ですか?これが私が今持っているものです:
この場合、パフォーマンスについては気にしません。これは1回限りのクエリになります。テーブルを日時フィールドに変更することはオプションではありません。
3番目の引数を追加しようとしましたが、違いはありません。
問題は、データの保存方法にある可能性が最も高く、安全な形式は2つだけです。ISO YYYYMMDD; ISO 8601 yyyy-mm-dd Thh:mm:ss:mmm(スペースなし)
チェックはこれを処理しませんisdate()
か?
100%の精度は必要ありません。過去30日間のレコードのほとんどを取得したいだけです。
CASEとISDATEをCONVERT()関数内に配置します。
ありがとう!それはそれをしました。
c# - DateTime.Now は関数のパフォーマンスを測定する最良の方法ですか?
ボトルネックを見つけて、時間をできるだけ正確に測定する必要があります。
次のコード スニペットは、パフォーマンスを測定するための最良の方法ですか?