2

日付関数を試してみます。10日以上経過した投稿を一覧表示したいので、表示しません。私はこのクエリを持っています:

dayOfYear($ now)-dayOfYear(p.TS_create)<10およびyear($ now)= year(p.TS_create)

の中に:

<mak:list from="general.forum.Post p" where="dayOfYear($now)-dayOfYear(p.TS_create)<10 and year($now)=year(p.TS_create)">

それは機能しますが、これを行うためのより良い方法があるかどうかを尋ねたいだけです。

4

2 に答える 2

1

まあ、これはおそらく最良の選択肢ではありません。

まず第一year($now)=year(p.TS_create)に、1 月 1 日に過去 9 日間の投稿が表示されないという結果になります (これも見たいと思うでしょう)。

それ以外の場合は、dayOfYear()おそらく機能しますが、これは 1 年の 1 日を表すため (最小日付からの合計日数ではないため)、次のようなものを使用することをお勧めします。

dateAdd(p.TS_create, 10, 'day') > now()

PSまた、使用する$now場合はコンテキスト属性として設定する必要がありますが、MQL内にnow()は代わりに使用できる関数があることに注意してください。$nowそのため、ページ内の他の場所 (c:ifステートメントなど) で使用していない場合は、関数を使用することをお勧めします。

于 2011-04-27T22:08:32.527 に答える