0

再会!我在使用变量过滤日期范围内的字符串日期时遇到问题。这是我的示例查询不起作用:

Select * from table_name where datee >= '" & result & "' and datee1 <= '" & result1 & "';

此代码显示相同的日期,2012-12-31 和 2012-12-31。我想要的是大于等于将显示为 2012-12-01,小于或等于是 2012-12-31。 . 这是我的日期范围代码:

Dim datee, datee1, result, result1 as string
Dim dateTime As Date
Dim dTime As Date
dateTime = Date.Parse(datee)
dTime = Date.Parse(datee1)
result = dateTime.ToString("yyyy-MM-dd")
result1 = dTime.ToString("yyyy-MM-dd")
4

1 回答 1

0

请试试这个:(假设您的变量持有正确的日期格式和值,并且数据库字符串日期格式是YYYY-MM-DD

Select * from table_name where Str_to_Date(datee,'%Y-%m-%d') >= 
'" & result & "' and Str_to_Date(datee1,'%Y-%m-%d') <= '" & result1 & "'
;

由于 12-01 至 12-31 涵盖了 12 月份.. 您可以尝试:

Select * from table_name where Month(Str_to_Date(datee,'%Y-%m-%d')) = 12
;

因此,

Select * from table_name where 
Month(Str_to_Date(datee,'%Y-%m-%d')) = " & Month(result1) & "
;

month在示例演示表中使用函数和字符串日期格式的查询非常仔细地检查演示:

于 2013-01-25T04:07:19.803 回答