如何在mysql中用年搜索月
我有一张桌子。它有一个varchar类型的日期列。 我想使用date搜索该表,但我只想从月份开始搜索年份 示例:12-2016 我如何编写该查询? 我想把这部分赋值给jasper变量 **示例:**,其中=$P{invDate} 我的jasper报告中的示例:如何在mysql中用年搜索月,mysql,jasper-reports,Mysql,Jasper Reports,我有一张桌子。它有一个varchar类型的日期列。 我想使用date搜索该表,但我只想从月份开始搜索年份 示例:12-2016 我如何编写该查询? 我想把这部分赋值给jasper变量 **示例:**,其中=$P{invDate} 我的jasper报告中的示例: 选择invoiceheader.inNo作为invoiceheader\u inNo,invoiceheader.cusID作为invoiceheader\u cusID,invoiceheader.soNo作为invoiceheader
选择invoiceheader.inNo作为invoiceheader\u inNo,invoiceheader.cusID作为invoiceheader\u cusID,invoiceheader.soNo作为invoiceheader\u soNo,invoiceheader.total作为invoiceheader\u total,invoiceheader.netTotal作为invoiceheader\u netTotal,invoiceheader.cash作为invoiceheader\u cash,invoiceheader.bal作为invoiceheader_bal,invoiceheader.date作为invoiceheader_日期来自invoiceheader invoiceheader,其中 我需要对上面的空格进行完美的查询尝试以下操作-
select * from Table_name where month(date_column_name)=12 and year(date_column_name)=2016
尝试此方法,因为您已将varchar数据类型用于date,所以like关键字将非常适合这种情况:
select * from table where date like concat('%' ,$P{invDate});
试试这个例子:
STR_TO_DATE(date_field, '%d-%m-%Y') < STR_TO_DATE('12-2016', '%m-%Y')
将like关键字用于eample select*,从表中选择日期,如“%12-2016”;请出示一些有问题的样本数据。varchar type date列不是很清楚也许您想使用可能的重复项,这与Java有什么关系?我没有在查询中给出日期,我通过一个参数传递它。。所以我需要一个适合任何月份和月份的查询year@Nisal您的列包含什么?答案现在更新请尝试此@NisalSELECT invoiceheader.inNo作为invoiceheader\u inNo,invoiceheader.cusID作为invoiceheader\u cusID,invoiceheader.soNo作为invoiceheader\u soNo,invoiceheader.total作为invoiceheader\u total,invoiceheader.dis作为invoiceheader\u dis,invoiceheader.netTotal作为invoiceheader_netTotal,invoiceheader.cash作为invoiceheader_cash,invoiceheader.bal作为invoiceheader_bal,invoiceheader.date作为invoiceheader_日期来自invoiceheader invoiceheader,其中……..=$P{invDate}需要查询空间