0

在我的表中,我有一列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 吗?请问如何...

谢谢

4

4 回答 4

1

好吧,如果您需要在一个月内选择所有记录,您可以执行以下操作:

SELECT * 
FROM table
WHERE current_date >= convert(datetime, '20121001', 112) and current_date < convert(datetime, '20121101', 112)

我无法建议使用monthyear功能,因为您的索引不起作用

更新: 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')
于 2012-11-27T07:04:34.000 回答
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
于 2012-11-27T07:04:33.907 回答
0

试试这个:

适用于 mysql 和 sql server

SELECT * 
FROM table 
WHERE month(current_date)=10
and   year(current_date)=2012
于 2012-11-27T07:04:36.167 回答
0

如果您使用的是 MSSQL,请尝试以下操作:

select * 
from table
where datepart(year, current_date) = 2012
    and datepart(month, current_date) = 10
于 2012-11-27T07:05:45.393 回答