目次 †
ランダムな数値を取得する †
1~5までのランダムな数値を取得する †
SELECT FLOOR(1 + RAND() * 5);
0と1でランダムな数値を取得する †
SELECT IF(FLOOR(1+RAND() * 2)=2,0,1);
その他の各種関数 †
MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.3.6.2 その他の各種関数:
FOUND_ROWS() †
SELECT ステートメントに LIMIT 節を組み込むことによって、サーバがクライアントに返すレコード数を制限できる。 状況によっては、LIMIT を指定しなかった場合にいくつのレコードが返されるかを、ステートメントを再度実行することなく確認したいことがある。 このレコード数を確認するには SELECT ステートメントに SQL_CALC_FOUND_ROWS オプションを指定し、その後 FOUND_ROWS() を呼び出す。
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS();
日付と時刻関連 †
引用:MySQL :: MySQL 4.1 リファレンスマニュアル :: 6.3.4 日付と時刻関数
年月を取得する †
SELECT EXTRACT(YEAR_MONTH FROM '2010-03-25');
結果:
201003
1日後の日時を取得 †
SELECT DATE_ADD('2010-03-25 23:59:59', INTERVAL 1 DAY);
結果:
2010-03-26 23:59:59
ある期間の月数を計算する(YEAR_MONTH形式) †
PERIOD_DIFF(P1,P2) 期間 P1 と P2 の間の月数を返す。 P1 と P2 の指定は YYMM または YYYYMM 形式で行う。
注意: 期間引数 P1 と P2 には、日付値を指定しないようにする。
SELECT PERIOD_DIFF(9802,199703);
結果:
11