如何根据postgres中的日期从表中检索记录

时间:2014-01-23 14:15:44

标签: java sql database oracle postgresql

我有桌子管理员,我有像date,phonenumber,user这样的列。

我想要检索记录,比如说我希望日期位于2014年1月1日至2014年1月31日之间的表中的电话号码。操作就像每天50到100个数字将被插入到表中我会喜欢查看在特定周或特定日期间隔中插入的数字。

我使用的是postgres,我的日期列是varchar类型。我试图在java Web应用程序中执行此操作,并使用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条记录

2 个答案:

答案 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;

另外,请注意使用类型日期来存储日期,而不是varchar!

答案 1 :(得分:0)

创建表时,应该将列作为日期提及(必须确保列名不是DATE) 例如:create table abc(dataentrydate Date not null);

并且为了根据日期检索记录,可以使用以下查询

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

非常感谢您提供的回复和帮助。