DTPriqi和DTPriqiD是DateTimePicker控件,格式是:"yyyy年MM月dd日 dddd"
想查询日期大于或等于今日的数据,用这句不行:
Dim SelectString As String = "SELECT 日期,时间,地点,事项, FROM 备忘" & "WHERE 日期>=" & "'" & now.date & "'"
还有想查询日期介于控件DTPriqi和DTPriqiD之间的数据,怎么查?
11 个解决方案
#1
使用 between
#2
搞清楚你的(关系)数据库的sql语句中到底是如何表达日期的,其格式是什么。你提交给它的sql语句,是以它的sql语句语法为准,不是以vb.net的(日期)语法为准。在你抛开vb.net,首先搞懂你的数据库中如何表达日期常量的格式以后,使用date.now.tostring(....)方式输出正确格式的字符串,这样才能拼接到sql中。
#3
按照你的代码,可以简单改为,例如:
例如输入两个日期 2012.1.15 和 2012.2.11,那么查询条件可能就是
Dim SelectString As String = "SELECT 日期,时间,地点,事项, FROM 备忘" & "WHERE 日期>=" & "'" & datetime.parse(DTPriqi).date.tostring(....) & "' and 日期<"datetime.parse(DTPriqi).date.adddays(1).tostring(....) & "'"
例如输入两个日期 2012.1.15 和 2012.2.11,那么查询条件可能就是
where 日期>='2012-1-15' and 日期<'2012-2-12'
#4
between 开始时间 and 结束时间
或者
日期>=开始时间 and 日期<=结束时间
或者
日期>=开始时间 and 日期<=结束时间
#5
数据库中保存的是“日期”类型吗?
搞清楚,到时是日期呢还是日期时间!如果你把日期时间当作日期,那么错误可就很离谱了。
搞清楚,到时是日期呢还是日期时间!如果你把日期时间当作日期,那么错误可就很离谱了。
#6
另外,在表达式左边的应该是字段本身,而不是什么函数,这样才能用到索引。我想这也是数据库sql语句编程的基本知识。
希望正规地学一些sql编程。
希望正规地学一些sql编程。
#7
首先要搞清楚是什么数据库
MSSQL SERVER
日期>getdate()
日期 between and
Oracle
日期>sysdate
to_char(日期,'YYYY-MM-DD') between
MSSQL SERVER
日期>getdate()
日期 between and
Oracle
日期>sysdate
to_char(日期,'YYYY-MM-DD') between
#8
between 开始时间 and 结束时间
#9
sqlstr += " where cd.ckpgdate >= to_date('" & DateTime.Now.AddDays(-15) & "','RRRR-MM-DD HH24:MI:SS')"
sqlstr += " and cd.ckpgdate <= to_date('" & DateTime.Now.AddDays(+15) & "','RRRR-MM-DD HH24:MI:SS') and c.containerid<> c.containername "
sqlstr += " and cd.ckpgdate <= to_date('" & DateTime.Now.AddDays(+15) & "','RRRR-MM-DD HH24:MI:SS') and c.containerid<> c.containername "
#10
用个 to_date函数就可以了啊,后面格式自己改
#11
你这个是得不到结果呢,还是有错误啊,
SQL是不是多了逗号,有少了空格啊
SQL是不是多了逗号,有少了空格啊
#1
使用 between
#2
搞清楚你的(关系)数据库的sql语句中到底是如何表达日期的,其格式是什么。你提交给它的sql语句,是以它的sql语句语法为准,不是以vb.net的(日期)语法为准。在你抛开vb.net,首先搞懂你的数据库中如何表达日期常量的格式以后,使用date.now.tostring(....)方式输出正确格式的字符串,这样才能拼接到sql中。
#3
按照你的代码,可以简单改为,例如:
例如输入两个日期 2012.1.15 和 2012.2.11,那么查询条件可能就是
Dim SelectString As String = "SELECT 日期,时间,地点,事项, FROM 备忘" & "WHERE 日期>=" & "'" & datetime.parse(DTPriqi).date.tostring(....) & "' and 日期<"datetime.parse(DTPriqi).date.adddays(1).tostring(....) & "'"
例如输入两个日期 2012.1.15 和 2012.2.11,那么查询条件可能就是
where 日期>='2012-1-15' and 日期<'2012-2-12'
#4
between 开始时间 and 结束时间
或者
日期>=开始时间 and 日期<=结束时间
或者
日期>=开始时间 and 日期<=结束时间
#5
数据库中保存的是“日期”类型吗?
搞清楚,到时是日期呢还是日期时间!如果你把日期时间当作日期,那么错误可就很离谱了。
搞清楚,到时是日期呢还是日期时间!如果你把日期时间当作日期,那么错误可就很离谱了。
#6
另外,在表达式左边的应该是字段本身,而不是什么函数,这样才能用到索引。我想这也是数据库sql语句编程的基本知识。
希望正规地学一些sql编程。
希望正规地学一些sql编程。
#7
首先要搞清楚是什么数据库
MSSQL SERVER
日期>getdate()
日期 between and
Oracle
日期>sysdate
to_char(日期,'YYYY-MM-DD') between
MSSQL SERVER
日期>getdate()
日期 between and
Oracle
日期>sysdate
to_char(日期,'YYYY-MM-DD') between
#8
between 开始时间 and 结束时间
#9
sqlstr += " where cd.ckpgdate >= to_date('" & DateTime.Now.AddDays(-15) & "','RRRR-MM-DD HH24:MI:SS')"
sqlstr += " and cd.ckpgdate <= to_date('" & DateTime.Now.AddDays(+15) & "','RRRR-MM-DD HH24:MI:SS') and c.containerid<> c.containername "
sqlstr += " and cd.ckpgdate <= to_date('" & DateTime.Now.AddDays(+15) & "','RRRR-MM-DD HH24:MI:SS') and c.containerid<> c.containername "
#10
用个 to_date函数就可以了啊,后面格式自己改
#11
你这个是得不到结果呢,还是有错误啊,
SQL是不是多了逗号,有少了空格啊
SQL是不是多了逗号,有少了空格啊