SQL Server CompactでWebMatrixを使用していますが、簡単な質問があります。コードの行があります:
if(cndDateLastModified=="gteq"){stringCompiler+="'CAST(DateLastModified AS datetime)' >= 'CAST(" + DateLastModified + " AS datetime)' ";}////
画面に出力をプロットすると、クエリは具体的に次のようになります。
SELECT * FROM POITable WHERE 'CAST(DateLastModified AS datetime)' >= 'CAST(09/25/2012 AS datetime)'
何らかの理由で、指定された日付の前、上、および後のすべての行を返します。クエリに関してはまだ少し環境に配慮していますが、調査したすべてのアカウントで、これは機能するはずです。明らかに、それは私がまったく期待していないことをしていることを考えれば理解できます。
これを希望どおりに機能させる方法についてのアイデアはありますか?それでも文字列やその他の形式を比較しようとしていますか?
注:両方の変換で、CONVERT(datetime、DateLastModified)とCONVERT(datetime、DateLastModified、1)を使用してこれを試しました。
別の注意:それは文字列としてデータベースに保存されます。
別の注意:条件を(> =から<=に)切り替えると、逆になり、行が返されません。これは、最初の予期しない結果セットを考慮すると予想されますが、それでも理由はわかりません。
何か案は?