使用MySQL 時,可能會遇到需要產生隨機值的情況落在指定範圍內的值。雖然 RAND() 函數存在,但它不能滿足此要求。本文深入探討了在 MySQL 中實現此目的的最佳方法。
MySQL 中產生指定範圍內的隨機值的最佳方法是:
ROUND((RAND() * (max-min))+min)
<code class="php">rand($min, $max)</code>
<code class="mysql">SELECT ROUND((RAND() * (200-10))+10) AS `foo`</code>
<code class="php">// MySQL $start = microtime(1); for( $i = 0; $i < 100000; $i++ ) { $r = mysql_query( 'SELECT ROUND(RAND() * (200-10) + 10) FROM dual' ); $r = mysql_fetch_array( $r ); } $end = microtime(1); // PHP $start = microtime(1); for( $i = 0; $i < 100000; $i++ ) { $r = mysql_query( 'SELECT 200 AS two, 10 AS tem FROM dual' ); $r = mysql_fetch_array( $r ); $r[2]= rand($r[0], $r[1]); } $end = microtime(1);</code>
以上是如何在MySQL中產生一定範圍內的隨機值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!