這個請求很好用:
Dim cmd1 As New OleDbCommand("SELECT * FROM table1 WHERE dat_recep > #10/14/2022# ORDER BY dat_recep DESC", conn)
它適用于>, <,<>但不適用于=.
它不會產生任何錯誤,它只是回傳一個空表。
我不想使用類似的東西:
WHERE dat_recep < #10/15/2022# & dat_recep > #10/13/2022#
知道為什么=不被接受嗎?
uj5u.com熱心網友回復:
=按預期作業 - 它只允許與確切日期時間值匹配的行,2022-10-14 00:00:00. dat_recep任何包含時間不同的行都00:00:00將被過濾掉。
利用索引的一種解決方案是過濾dat_recep大于或等于2022-10-14但小于第二天的行。
Dim startInclusive As DateTime = somDate.Date
Dim endExclusive As DateTime = startInclusive.AddDays(1)
Dim sql As String = "SELECT * FROM table1
WHERE dat_recep >= ?
AND dat_recep < ?
ORDER BY dat_recep DESC"
Dim cmd1 As New OleDbCommand(sql, conn)
cmd.Parameters.AddWithValue("@start",startInclusive);
cmd.Parameters.AddWithValue("@end",endExclusive);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/515960.html
標籤:sql数据库VB.net
