2011-08-09 10 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' 

は、私はちょうど選択した日付WITHIN 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' 
関連する問題