我有2个SQL表(A& B),日期格式为DD / MM / YYYY和时间,例如01/03/2012 00:00:00。在我的VB.net应用程序中,我希望计算表A中记录的数量,这些记录的日期小于表B中的记录。我从数据库中获取日期没有问题。我已经在表B中提取了日期并将其存储在程序中。我只是不确定如何比较SQL查询中的日期。
简而言之,我要做的是:
"select count(records) as totalRecords from table A where date < " & dateBvariable & ""
任何帮助表示赞赏
答案 0 :(得分:1)
如果您在'
引号中将日期作为字符串传递,则可能会有效:
where date < '" & dateBvariable & "'"
或将其格式化为ODBC标准:
where date < '" & dateBvariable.ToString("yyyy-MM-dd HH:mm:ss") & "'"
更好的是传递一个参数:
where date < @par1
并将参数添加到SqlCommand
:
command.AddWithValue "@par1", dateBvariable
答案 1 :(得分:1)
尝试使用参数设置日期。 E.g:
Dim sqlCmd As New SqlCommand("select count(records) as totalRecords from tableA where dateField < @DateParam")
sqlCmd.Parameters.AddWithValue("@DateParam", DateTime.Today)
答案 2 :(得分:1)
尝试
"select * from lk.media_months where begin_on < cast('" & dateVarialbe & "' as DATETIME)"