2011-08-09 23 views
0

我想在日期内选择varchar。我已经尝试过下面的代码,但它会忽略日期选择。它将在日期范围外(和内部)选择。MySql - 在日期和其他数据类型之间选择

SELECT * 
    FROM register 
    WHERE company LIKE '%abc%' OR address LIKE '%def%' 
    AND Timestamp 
    BETWEEN '2011-8-1 10:00:00' 
    AND '2011-8-31 10:00:00' 

如果我刚刚离开日期本身,是它的工作原理

SELECT * 
    FROM register 
    WHERE Timestamp 
    BETWEEN '2011-8-1 10:00:00' 
    AND '2011-8-31 10:00:00' 

我只是想选择VARCHAR内选择日期。怎么样?

回答

2

这是因为运营商ORAND优先。

用括号包裹你的整个OR部分

SELECT * 
    FROM register 
    WHERE (company LIKE '%abc%' OR address LIKE '%def%') 
    AND Timestamp 
    BETWEEN '2011-8-1 10:00:00' 
    AND '2011-8-31 10:00:00' 
相关问题