0

公開された年に関係なく、すべてのコンテンツが1つの日付で公開されたSQLiteデータベースからデータを選択しようとしています。たとえば、データベースにリストされている毎年7月15日。

これはこれまでの私のコードです。

SELECT Date, Content FROM MYDATABASE WHERE Date = date('now')

現在の日付の以前のすべてのエントリも含まれるようにするにはどうすればよいですか?

4

1 に答える 1

2

取得した月日部分を次のstrftime(...)関数で比較できます。

SELECT Date, Content 
FROM MYDATABASE 
WHERE strftime('%m%d', Date) = strftime('%m%d', date('now'))

日時関数の詳細については、ドキュメントを参照してください: http ://www.sqlite.org/lang_datefunc.html

日付と時刻の関数が正しく機能するには、日付を次のいずれかの形式で保存する必要があることに注意してください(上記のリンク先のドキュメントに記載されています)。

YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
于 2012-07-15T10:42:27.820 に答える