Mysql 使用Sql语法按日期筛选数据
我想按日期将MySql数据库中的数据过滤到datagrid 我尝试了这段代码,但在datagrid中没有返回任何内容或空Mysql 使用Sql语法按日期筛选数据,mysql,sql,vb.net,Mysql,Sql,Vb.net,我想按日期将MySql数据库中的数据过滤到datagrid 我尝试了这段代码,但在datagrid中没有返回任何内容或空 "SELECT x1, x2, x3, xdate FROM data WHERE xdate='" & LblDate.Text.ToString & "'" 但如果我把过滤器换成x1、x2或x3,它也能工作 xdate列是格式为d/M/yyyy的日期 我尝试了这段代码,但是我的sql版本出现了错误 "SELECT x1, x2, x3, xdate
"SELECT x1, x2, x3, xdate FROM data WHERE xdate='" & LblDate.Text.ToString & "'"
但如果我把过滤器换成x1、x2或x3,它也能工作
xdate列是格式为d/M/yyyy的日期
我尝试了这段代码,但是我的sql版本出现了错误
"SELECT x1, x2, x3, xdate FROM data WHERE xdate CONVERT(VARCHAR(10, xdate, 110))='" & LblDate.Text.ToString & "'"
错误
错误[42000][MySQL][ODBC 5.2(w)驱动程序][mysqld-5.5.25a]您有一个
SQL语法错误;检查与您的产品相对应的手册
MySQL服务器版本,以便在附近使用正确的语法
第1行的“CONVERT(VARCHAR(10,xdate,110))='3/4/2014'”
请帮忙……谢谢。试试这个
"SELECT x1, x2, x3, xdate FROM data
WHERE DATE_FORMAT(xdate,'%d/%m/%Y')='" & LblDate.Text.ToString & "'
为什么不使用绑定变量呢?嗯。。。我从不使用绑定变量,你能告诉我如何使用那个方法吗?看看参数化查询。这样,您就可以将
DateTime
对象传递给查询,而无需根据MySQL区域性将其转换为具有有效格式的字符串,而且参数化查询可以避免SQL注入。哇。。我不知道它是怎么工作的。。。我只是将“%d/%m/%Y”更改为“%d/%m/%yyyy”。。谢谢