目次

ランダムな数値を取得する

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() を呼び出す。

#pre{{
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

Last-modified: 2016-07-10 (日) 02:00:30 (801d)