次のコードがあり、日付文字列と日時を比較しようとしていますが、動作させることができません。これは行を出力しません。
DataTable tbl3 = dii.SelectGeneric("select * from widget_messages where convert(datetime, m_date) ='" + String.Format("{0:d/M/yyyy}", DateUsed) + "'");
両方の日時の形式はまったく同じです。何かアイデアはありますか?
に変換しm_date
てdatetime
いDateUsed
ますが、文字列のままです。
このように、それらを文字列として比較する必要があります
DataTable tbl3 = dii.SelectGeneric("select * from widget_messages where m_date ='" + String.Format("{0:d/M/yyyy}", DateUsed) + "'");
または日時として、次のようにします。
DataTable tbl3 = dii.SelectGeneric("select * from widget_messages where convert(datetime, m_date) = convert(datetime,'" + String.Format("{0:d/M/yyyy}", DateUsed) + "')");
編集: SQL Server 2005 でこれを試してください:
DataTable tbl3 = dii.SelectGeneric("select * from widget_messages where abs(datediff(day,convert(datetime, m_date), convert(datetime,'" + String.Format("{0:d/M/yyyy}", DateUsed) + "'))) = 0");