読者です 読者をやめる 読者になる 読者になる

書き置き。

ほぼ勉強の記録みたいなもんです。

連続したデータを取得する

テーブル作成

CREATE TABLE integers (i integer NOT NULL PRIMARY KEY);

データ投入

insert into integers (i) values (0);
insert into integers (i) values (1);
insert into integers (i) values (2);
insert into integers (i) values (3);
insert into integers (i) values (4);
insert into integers (i) values (5);
insert into integers (i) values (6);
insert into integers (i) values (7);
insert into integers (i) values (8);
insert into integers (i) values (9);

とりあえず連続した2桁の整数データを30個生成してみる

SELECt 10*t.i+u.i AS days
FROM integers AS u
CROSS JOIN integers AS t
WHERE
10*t.i+u.i BETWEEN 0 AND 29
ORDER BY days

とりあえず連続した3桁を90個にしてみる

SELECT 100*t.i+10*t.i+u.i AS days

FROM integers AS u CROSS JOIN integers AS t WHERE 10t.i+10t.i+u.i BETWEEN 0 AND 89 ORDER BY days

2007-01-01から連続した日付を31日分取得する

SELECT to_date('2007-01-01','YYYY-MM-DD')+10t.i+u.i as days FROM integers AS u CROSS JOIN integers AS t WHERE 10t.i+u.i BETWEEN 0 AND 30 ORDER BY days

ふむふむ。PHPで開始日とその月の日数を入れてやればいろいろ使えそうだにゃ(=゚Д゚=))