美好的一天!我有一个问题是使用变量过滤日期范围中的字符串日期。这是我的示例查询不起作用:
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")
答案 0 :(得分: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月1日到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
函数的查询和示例演示表中的字符串日期格式上非常仔细地检查演示: