mysql выбирает метки времени между a и b, возвращая все или 0 меток времени
8205 просмотра
2 ответа
Пробовал это
select * from table where timestamp_field between 1330560000 and 1336170420
и это
select * from table where timestamp_field >=1330560000 and timestamp_field<=1336170420
оба возвращают пустой набор результатов.
Но это
select * from table where timestamp_field >= 1330560000
возвращает все строки
Чтобы сделать вещи более абсурдными
select * from table where timestamp_field <= 1336170420
возвращает пустой набор результатов.
Конечно, существуют значения меток времени до, между и после 1336170420 = 4 мая 2012 года и 1330560000 = 1 марта 2012 года.
Значения отметки времени в порядке, по крайней мере phpmyadmin показывает правильные (читаемые человеком) значения даты и времени. Я создал временные метки, анализируя строки, с
UPDATE table SET timestamp_field = STR_TO_DATE(timestamp_string, '%d.%m.%Y')
Думаю, я что-то упустил, но не могу найти что?
Автор: Prvul Источник Размещён: 12.11.2019 09:55Ответы (2)
6 плюса
MySQL ожидает литералы даты , а не целые:
SELECT *
FROM table
WHERE DATE(timestamp_field) BETWEEN '2012-03-01' AND '2012-05-04'
Чтобы использовать целые числа (предполагая, что они являются секундами с начала эпохи UNIX), сначала преобразуйте их, используя FROM_UNIXTIME()
функцию MySQL :
SELECT *
FROM table
WHERE timestamp_field BETWEEN FROM_UNIXTIME(1330560000)
AND FROM_UNIXTIME(1336170420)
Или используйте UNIX_TIMESTAMP()
для преобразования вашего столбца в представление UNIX:
SELECT *
FROM table
WHERE UNIX_TIMESTAMP(timestamp_field) BETWEEN 1330560000 AND 1336170420
Автор: eggyal
Размещён: 04.06.2012 09:16
0 плюса
почему бы не конвертировать временные метки из unixtime (timestamp / 1000) в dateTime при использовании вашего sql-кода? ты пробовал это?
Автор: Fonzy Размещён: 04.06.2012 08:59Вопросы из категории :
- mysql Двоичные данные в MySQL
- mysql Насколько большой может быть база данных MySQL до того, как производительность начнет снижаться
- mysql Выбрать все столбцы, кроме одного в MySQL?
- mysql MySQL или PDO - каковы плюсы и минусы?
- mysql Как выбрать n-ую строку в таблице базы данных SQL?
- mysql MyISAM против InnoDB
- mysql Обмен значениями столбца в MySQL
- mysql Есть ли способ увидеть ход выполнения инструкции ALTER TABLE в MySQL?
- mysql MySQL Error 1093 - Can't specify target table for update in FROM clause
- mysql Как я могу предотвратить SQL-инъекцию в PHP?
- timestamp Как преобразовать дату в метку времени в PHP?
- timestamp Как вы получаете метку времени в JavaScript?
- timestamp Сброс части времени метки времени в Java
- timestamp iPhone: Как узнать текущие миллисекунды?
- timestamp Должен ли я использовать тип данных datetime или timestamp в MySQL?
- timestamp Переименование столбцов create_at, updated_at в ActiveRecord / Rails
- timestamp Лучший формат временной отметки для CSV / Excel?
- timestamp Задать столбец метки времени JPA для создания базы данных?
- timestamp Как я могу использовать bash (grep / sed / etc), чтобы захватить раздел файла журнала между двумя метками времени?
- timestamp Есть ли способ избежать автоматического обновления полей метки времени Rails?