当前位置: 首页 > 知识库问答 >
问题:

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

别子实
2023-03-14

我有一个表格管理器,其中有日期、电话号码、用户等列。

我想从2014年1月1日至2014年1月31日之间的表格中检索记录,比如说我想要电话号码。该操作就像每天将50到100个数字插入表中一样,我想查看在特定的星期或特定的日期间隔插入的数字。

我使用的是postgres,我的日期列是varchar类型。我试图在一个java web应用程序中实现这一点,并且将使用jquery日期选择器来选择日期。

样本数据

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

当我选择2014年1月1日至2014年1月6日时,我想获取前3条记录

共有2个答案

吴西岭
2023-03-14

创建表时,列应被称为日期(必须确保列名不是日期),例如:create table abc(dataentrydate date NOT null)

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

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

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

朱高丽
2023-03-14
SET DATESTYLE = "DMY, DMY";

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

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

 类似资料:
  • 我有一个带有键和值的哈希映射(整数数组)

  • 问题内容: 在MongoDB中,您可以使用函数从ObjectId检索日期。如何使用SQL从MongoDBObjectId中检索日期(例如,在将ObjectId存储在MySQL数据库中的情况下)? 输入示例: 想要的输出: 问题答案: 这可以通过以下方式实现(假设是一个字符串): 它的工作方式如下: 从十六进制字符串中获取前8个字符 将十六进制数字转换为十进制数字,并将其作为字符串返回(代表UNIX

  • 目前我正在做一个项目,我需要从一个表中提取最新的数据用于报告目的。下面是示例表结构:- 我使用下面的SQL查询并能够提取数据。 但问题是真正的表非常大。大约有85k行,这个查询需要一些时间。还有其他更好的方法吗。我正在使用Oracle 11g R2。请建议 这是SQLfiddle链接http://sqlfiddle.com/#!4/b3fe1/8

  • 我有搜索框的表格。我想在这个搜索框中输入今天的日期,并点击提交按钮后,我从数据库中获得10天的记录。我在table(table=issueDevices的名称)中有以下列。Device_ID、Employee_id、Employee_Name、Employee_Ext、Issue_Date 当我像下面这样编写查询时,pst=con.prepareStatement(“select*from iss

  • 我在设计一个简单的COVID19追踪系统。每次客户(ArrayList中的对象)访问商店(ArrayList中的对象)时,系统都会创建存储在ArrayList中的访问对象。 超类的详细信息。 我正在使用java.time包创建datetime和Visit对象,如下所示 我的客户类构造函数如下所示 我的shop类构造函数如下所示 我在另一个文件中也有一个状态枚举,看起来如下所示 我现在想要完成的是,

  • 问题内容: 我将对各种rpc调用的响应存储在具有以下字段的mysql表中: 为和的所有现有组合选择最新响应的最佳方法是什么? 对于每个日期,对于给定的方法/ ID,只能有一个响应。 并非所有呼叫组合在给定日期都必须存在。 有数十种方法,数千个ID和至少365个不同的日期 样本数据: 所需结果: (我不认为这是同一个问题-它不会给我最新的信息) 问题答案: 自我回答,但是随着表的增长,我不确定这是否