搜索日期sql出错

时间:2012-12-17 07:54:00

标签: sql

我有这个查询来获取截止日期之间的所有数据:

SELECT *
FROM cashier_trans
WHERE cashier_trans_Customerid LIKE '%kam%'
OR cashier_trans_Date
BETWEEN '2012/12/01'
AND '2012/12/02'
ORDER BY cashier_trans_Customerid, cashier_trans_DocType, cashier_trans_DocId ASC

我从数据库中检索的数据:

Name     Date
kam      16/12/2012

为什么我在16/12/2012

上检索日期

2 个答案:

答案 0 :(得分:1)

查看where子句条件:

WHERE 
     cashier_trans_Customerid LIKE '%kam%'
  OR  <-------------
     cashier_trans_Date BETWEEN '2012/12/01' AND '2012/12/02'

您显示的数据包含Name ='kam',因此满足WHERE条件。

答案 1 :(得分:0)

'cashier_trans_Date'表中的列格式为'mm / dd / yyyy'。但在查询中,您使用的是'yyyy / mm / dd'格式。 这对你有帮助,

SELECT *
FROM cashier_trans
WHERE cashier_trans_Customerid LIKE '%kam%'
OR cashier_trans_Date
BETWEEN '12/01/2012'
AND '12/02/2012';

除了在'where'子句中,你使用'%kam%'。显然你会收到'kam'的记录