ホームページ > データベース > mysql チュートリアル > MySQL で特定の範囲内でランダムな日時値を生成するにはどうすればよいですか?

MySQL で特定の範囲内でランダムな日時値を生成するにはどうすればよいですか?

DDD
リリース: 2024-12-25 19:26:14
オリジナル
401 人が閲覧しました

How to Generate Random Datetime Values within a Specific Range in MySQL?

MySQL での特定の範囲内のランダムな日時値の生成

指定された範囲内のランダムな日時値を挿入することは、データベース操作における一般的な要件です。 SQL を使用すると、いくつかのトリックを使用してこのような値を生成することができます。

たとえば、2010-04-30 14:53:27 から 2012-04-30 14:53:27 までの範囲を考えてみましょう。この範囲内でランダムな日時を生成するには、次のアプローチを使用できます。

INSERT INTO `sometable` VALUES(
    FROM_UNIXTIME(
        UNIX_TIMESTAMP('2010-04-30 14:53:27') + FLOOR(0 + (RAND() * 63072000))
    )
)
ログイン後にコピー

このクエリは、2010-04-30 14:53:27 の基準日付を Unix タイムスタンプに変換します。次に、FLOOR() 関数を使用して、0 ~ 63072000 の範囲のランダムな秒数 (約 2 年) を基準日付に追加します。最後に、FROM_UNIXTIME() 関数を使用して、変更された Unix タイムスタンプを DATETIME に変換します。

このメソッドは、指定された範囲内のランダムな日時値の近似値を提供します。ただし、閏年やその他のカレンダーの調整により、長期間にわたって完全に正確ではない可能性があります。

以上がMySQL で特定の範囲内でランダムな日時値を生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート