在我的表格中,我有一列current_date
,价值是2012-11-27。
继承我的代码
$query = QModel::query("SELECT * FROM transaction WHERE current_date='$order_date'");
$order_date
的值仅为年月“ 2012-10 ”,我如何才能将current_date
拆分为仅年月“ 2012- 10 “......
我应该使用CHARINDEX
拆分current_date ???怎么样...
感谢
答案 0 :(得分:1)
如果您需要在一个月内选择所有记录,您可以执行以下操作:
SELECT *
FROM table
WHERE current_date >= convert(datetime, '20121001', 112) and current_date < convert(datetime, '20121101', 112)
我无法建议使用month
和year
函数,因为索引不起作用
更新: AFAIK,在MySQL中它将是
SELECT *
FROM table
WHERE current_date >= str_to_date('20121001', '%y%m%d') and current_date < str_to_date('20121101', '%y%m%d')
答案 1 :(得分:0)
如果您使用MySQL
SELECT *
FROM table
WHERE YEAR(current_date) = 2012 AND
MONTH(current_date) = 10
代表SQL Server
SELECT *
FROM table
WHERE DATEPART(year,current_date) = 2012 AND
DATEPART(month, current_date) = 10
答案 2 :(得分:0)
试试这个:
适用于mysql以及sql server
SELECT *
FROM table
WHERE month(current_date)=10
and year(current_date)=2012
答案 3 :(得分:0)
如果您使用的是MSSQL,请尝试以下方法:
select *
from table
where datepart(year, current_date) = 2012
and datepart(month, current_date) = 10