series of dates指定されたintervalvariablestatic dateaは、以前に尋ねたリンクされた質問に従ってaと aを使用して生成できます。ただしwhere、開始日を生成する句がある場合dates generation、停止しているように見え、最初の間隔の日付のみが表示されます。また、他の投稿もチェックしました。たとえば、 1、たとえば 2、たとえば 3static dateなどの投稿は、 CTE または CTE を使用し て表示されていstoredprocedures/functionsます。
これは機能します:
SELECT DATE(DATE_ADD('2012-01-12',
INTERVAL @i:=@i+30 DAY) ) AS dateO
FROM members, (SELECT @i:=0) r
where @i < DATEDIFF(now(), date '2012-01-12')
;
これらはしません:
SELECT DATE_ADD(date '2012-01-12',
INTERVAL @j:=@j+30 DAY) AS dateO, @j
FROM `members`, (SELECT @j:=0) s
where @j <= DATEDIFF(now(), date '2012-01-12')
and mmid = 100
;
SELECT DATE_ADD(stdate,
INTERVAL @k:=@k+30 DAY) AS dateO, @k
FROM `members`, (SELECT @k:=0) t
where @k <= DATEDIFF(now(), stdate)
and mmid = 100
;
予想された結果:
stDateof で日付の生成を開始すると、最初のクエリ結果と同じになりますmmid=100。
できれANSI SQLば、MYSQL, SQL Server/MS Access SQLas Oraclehastruncでサポートされ、rownumこのクエリごとに 14 票で与えられ、関数をPostGres持っていることができgeneratge_Seriesます。これがバグなのか、それとも の制限なのかを知りたいですか?MYSQL
PS: 以前にも同様の質問をしたことがあります。これはstatic date values、条件に基づくテーブル列の日付値に基づいているため、どこに基づいていました。