-1

我有这个查询来获取两个日期之间的所有数据,如下所示:

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

4

2 回答 2

1

查看 where 子句条件:

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

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

于 2012-12-17T07:56:34.373 回答
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'的记录

于 2012-12-17T07:58:34.360 回答