0

データベースにテーブルがありtimedate、時間という名前の列がこの列に次のように保存されます。2013-05-25 12:15:25

SELECT過去 15 分以内の時間だけを列に並べる必要があります。なので上記の場合

timedate が後である場合は SELECT2013-05-25 12:00:25

私は試した:

TO_DAYS(NOW()) - TO_DAYS('timedate') < 15

しかし、うまくいきませんでした

SELECT 
    * 
  FROM 
    `column` 
  WHERE 
    `name` = 'name' 
    AND `family` = 'family'  
    AND (
      `test1` = 'test1 value' 
      || `test2` = 'test2 value' 
      || `test3` = 'test3 value' 
    ) 
    AND TO_DAYS(NOW()) - TO_DAYS('timedate') < 15 
  LIMIT 
    1
4

5 に答える 5

1

フィールドのタイプtest1が数値の場合test2test3クエリは次のようになります。

SELECT 
  * 
FROM
  `column` 
WHERE `name` = '{$name}' 
  AND `family` = '{$family}'
  AND (
    `test1` = {$test1} || `test2` = {$test2} || `test3` = {$test3}
  ) 
  AND ADDTIME(`timedate`, '00:15:00.000000') > NOW()

フィールドのタイプtest1がvarchar の場合、クエリは次のようになりますtest2test3

SELECT 
  * 
FROM
  `column` 
WHERE `name` = '{$name}' 
  AND `family` = '{$family}'
  AND (
    `test1` = '{$test1}' || `test2` = '{$test2}' || `test3` = '{$test3}'
  ) 
  AND ADDTIME(`timedate`, '00:15:00.000000') > NOW()

うまくいけば、この助け。

于 2013-07-21T12:45:37.870 に答える
0

このページを参照してください:

を使用して 15 分前の時刻を取得し、日付を演算子DATE_SUB(CURDATE(), INTERVAL 15:00 MINUTE_SECOND)と比較できます。>

于 2013-07-21T12:24:43.723 に答える
0

試すTIMESTAMPDIFF (MINUTE, NOW(), timestamp)

MySQL のマニュアルを参照してください

于 2013-07-21T12:25:40.503 に答える