3

次のようなデータベースがあります。

テーブル
名前 | タイムスタンプ
----------------------------------------------
こんにちは | 2013-02-23 14:26:18
ヨ | 2013-03-22 14:26:18

過去のもののみが選択される SQL Select を実行したいと考えています (たとえば、タイムスタンプが未来に設定されていません)。

それを行う最善の方法は何ですか?

助けてくれてありがとう。

編集:

提案を試しましたが、どれもうまくいかないようです。クエリは次のとおりです。

SELECT * FROM TABLE WHERE timestamp<NOW()

それでもすべてを選択しましたが、私も試しました:

SELECT * FROM TABLE WHERE timestamp<CURRENT_TIMESTAMP

そして、それは再びすべてを選択しました。

「timestamp>CURRENT_TIMESTAMP」を使用すると機能するように見えますが(未来からではなくすべてのアイテムを非表示にします)、意味をなさない他の方向を試してみると機能しません。それはタイムゾーンの問題か、そのようなものでしょうか?

4

5 に答える 5

4
SELECT `Name` FROM `TABLE` WHERE `timestamp` < NOW();

あなたが望むものを手に入れるべきです。

于 2013-02-23T21:36:04.477 に答える
0
select * from table where `timestamp` < now()
于 2013-02-23T21:38:29.363 に答える
0

やってみました

SELECT * 
FROM yourtable T
WHERE T.timestamp < NOW();

...?

NOW()...

関数が文字列コンテキストで使用されているか数値コンテキストで使用されているかに応じて、現在の日付と時刻を「YYYY-MM-DD HH:MM:SS」または YYYYMMDDHHMMSS.uuuuuu 形式の値として返します。値は現在のタイムゾーンで表されます。

于 2013-02-23T21:36:24.630 に答える
0
SELECT * FROM TABLE WHERE timestamp<now();
于 2013-02-23T21:35:58.827 に答える
0

次のクエリを試してください。

SELECT * FROM YourTable WHERE 'timestamp' < CURRENT_TIMESTAMP
于 2013-02-23T21:35:59.750 に答える