mysql の時間型フィールド (時間、分、秒まで正確) を比較するにはどうすればよいですか?
阿神
阿神 2017-06-06 09:52:27
0
2
894

create_time フィールドに基づいてデータをフィルターする必要があります。SQL ステートメントは次のようになります:

リーリー

しかし、この方法にはバグがあることが分かりました。上限時間 (上図の矢印) が大きすぎるとエラーが報告されます。以下に示すように:


その理由は、unix_timestamp 関数は時間を秒に変換し、時間を大きくしすぎてはいけないためです。

質問: 時間をフィルターする他に良い方法はありますか?
この問題は一般的にどのように解決されますか?アドバイスをお願いします、ありがとうございます...

阿神
阿神

闭关修行中......

全員に返信(2)
巴扎黑

UNIX_TIMESTAMP返回的是INTEGER而不是BIGINT したがって、2038 年 (これも 2106 年) を超えることはできません。

試してみませんかcreate_time BETWEEN '2016-05-25 14:07:56 AND '2017-05-25 14:07:56'?

さらに、計算の利便性を追求する場合は、2038 年問題が発生しないように、time カラムのタイプを BIGINT に設定し、Unix タイムスタンプをミリ秒単位で保存することをお勧めします。

いいねを押す +0
世界只因有你

リーリー

ミリ秒を追加する場合は、コロン:,

の使用に注意してください。 リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート