まず、日付を ISO-8601 標準にフォーマットします。Date() でラップして、DATE として処理されるようにします。最後に、午前 0 時から翌日の午前 0 時直前までのすべてが含まれるように範囲を構成します。
select itemId, dateColumn
from items
where dateColumn >= date('2012-10-23')
AND dateColumn < date('2012-10-23', '+1 day')
SQLite 列は型付けされません。ただし、示されているように列を DATE と比較する場合、列データを日付に強制するだけで十分であり (強制できない場合は null)、比較は適切に機能します。
SQLFiddle の例:
create table items (
itemid, datecolumn);
insert into items select
1,'abc' union all select
2,null union all select
3,'10/23/2012 12:23' union all select
4,'10/23/2012' union all select
5,'2012-10-23 12:23' union all select
6,'2012-10-23' union all select
7,'2012-10-24 12:23' union all select
8,'2012-10-24' union all select
9,date('2012-10-24 12:23') union all select
10,date('2012-10-24');
結果:
itemid datecolumn
5 2012-10-23 12:23
6 2012-10-23
行 3 と 4は日付のように見えますが、SQLite で認識される唯一の形式である ISO-8601 形式に準拠していないため、そうではありません。