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

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

DDD
リリース: 2024-12-22 02:13:12
オリジナル
1006 人が閲覧しました

How to Insert 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 (RND (DATETIME()))」は、この範囲に関係なくランダムな日時値を生成します。

これに対処するには、次のクエリを使用できます。

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 に効果的に変換します。タイムスタンプを作成し、この基本タイムスタンプに 0 ~ 2 年のランダムな秒数を追加します。この変更されたタイムスタンプは DATETIME 形式に変換され、指定された範囲内でランダムな日時値が生成されます。

このメソッドは目的の結果の近似値を提供しますが、閏年を考慮していない可能性があることに注意することが重要です。またはその他の日付関連の調整。長期間の場合は、精度を確保するために、より洗練された技術を採用することをお勧めします。

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

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