Количество строк отличается при использовании DATE и DATETIME - PullRequest
1 голос
/ 23 января 2012

Как гласит заголовок, количество строк отличается при выполнении выбора с использованием DATE и DATETIME.Пожалуйста, сообщите.

Я пытаюсь выбрать строки с 1 по 5 января 2012 года. Тип данных столбца даты - bigint (метка времени UNIX).

select * from table_name
where sample_timestamp between unix_timestamp('2012-01-01')*1000 and unix_timestamp('2012-01-05')*1000 

Если я включу время вЧЧ: ММ: СС, верные строки верны, т. Е.

select * from table_name
where sample_timestamp between unix_timestamp('2012-01-01 00:00:00')*1000 and unix_timestamp('2012-01-05 23:59:59')*1000 

Любые входные данные будут высоко оценены.Спасибо.

1 Ответ

1 голос
/ 23 января 2012

'2012-01-05' на самом деле '2012-01-05 00:00:00', это не то, что вы пишете во втором выборе.

Я подозреваю, что вы хотите сделатьравен

select * from table_name 
where sample_timestamp >= unix_timestamp('2012-01-01')*1000 
and sample_timestamp < unix_timestamp('2012-01-06')*1000

, который в качестве бонуса также правильно обрабатывает дополнительные секунды:)

...