2014-01-23 2 views
0

У меня есть менеджер таблиц, где у меня есть столбцы, такие как дата, номер телефона, пользователь.Как получить записи из таблицы на основе даты в postgres

Я хочу получить такие записи, как, например, я хочу, чтобы номера телефонов из таблицы, дата которых находится между 01-01-2014 по 31-01-2014. Операция похожа на ежедневные 50-100 номеров, которые будут вставлены в таблицу i хотел бы просмотреть числа, вставленные в определенную неделю или определенный интервал дат.

Я использую postgres и мой столбец даты - тип varchar. Я пытаюсь сделать это в веб-приложении Java, и дата будет выбрана с помощью jquery datepicker.

Примеры данных

Date   Number  user 
01-01-2014  244548845  user1 
02-01-2014  545454454  user2 
05-01-2014  244540045  user1 
10-01-2014  244540045  user1 
20-01-2014  244540000  user2 

при выборе 01-01-2014 в 06-01-2014 я хотел бы принести первые 3 записи

+1

Пожалуйста, отправьте образцы данных. – Fernando

+1

Является ли это postgree or oracle ?? Вы должны вытащить метку оракула! –

+0

Я добавил образцы данных .. Добросердечно со мной формат не выглядит хорошим или правильным .. –

ответ

0
SET DATESTYLE = "DMY, DMY"; 

SELECT 
    * 
FROM 
    xxx 
WHERE 
    Date::date BETWEEN '01-01-2014' AND '06-01-2014' 
ORDER BY 
    Date::date 
LIMIT 
    3; 

Кроме того, ум, используя дату типа для хранение дат, а не варчар!

+0

создать табличный тест (дата Дата (10) не имеет значения null); этот запрос правильный ??? –

+0

Работал отлично !! Спасибо –

0

При создании таблицы столбец следует упомянуть в качестве даты (должен убедиться, что имя столбца НЕ ДАТА) например: create table abc(dataentrydate Date not null);

и для извлечения записей на основе даты этого ниже запроса можно использовать

SELECT * FROM abc WHERE dateentrydate BETWEEN '17-01-2014' AND '22-01-2014' ORDER BY dateentrydate; 

Большое спасибо за ответ и предоставленную помощь.

Смежные вопросы