0

そのため、データベースから時刻を選択しようとしたときに、コーディングエラーに遭遇したようです。

SELECT * FROM `videos` WHERE `added_time` > AddTime( CurTime(), '14400 hour' )

はコードです。以前のコーディングでは機能したが、今回は機能するため、「added_time」形式を使用して10日前(14400時間)に投稿されたすべてのビデオを選択しようとしています。

以下に示すのは、ビデオのデータベース構造がどのように表示されるかを示す画像へのリンクです。

http://i.imm.io/NURT.png

編集:以前は、10日前に投稿されたセキュリティ情報の取得と削除でこの問題が発生し、このコードは機能しましたが、動画を取得しようとするとこのコードは機能しないようです:/理由はわかりませんが、彼らは同じフォーマット。

参照: http: //i.imm.io/NUSW.png

4

2 に答える 2

4

の実際の日付をadded_time取得してから、の10日前の日付を取得しNOW()ます。

WHERE DATE(added_time) = DATE_SUB(NOW(),INTERVAL 10 DAY)

<=10日以上削除したい場合は、に変更できます。

---これで、そのうちの1つが文字列であり、日付フィールドではないことがわかりました。それを変換します。

// Change %Y-%m-%d to your date 
STR_TO_DATE(added_date, '%Y-%m-%d')

少しのチャットディスカッションとSQLFiddlinの後、私は答えを得ました、そしてそれは彼のために働きます。乾杯。

SELECT *
FROM videos_shared
WHERE DATE_FORMAT(STR_TO_DATE(added_date, '%a %b %d, %Y, %H:%i'), '%Y-%m-%d') 
<= DATE_SUB(NOW(), INTERVAL 10 DAY)

http://sqlfiddle.com/#!2/63eef/14

于 2012-12-04T04:47:47.430 に答える
0

次のようにフルタイム形式を提供してみてください。

  > SUBTIME( CurTime(), '14400:00:00.000000' )

または代わりに(以下のように10日を差し引きます:)、

 > SUBTIME( CurTime(), '10 00:00:00.000000')

こちらのドキュメントを参照してください-> SUBTIME()

于 2012-12-04T04:51:44.483 に答える