2011-08-09 33 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' 
相關問題