当前位置: 首页 > 面试题库 >

如何使用SQL从MongoDB ObjectId中检索日期

邵羽
2023-03-14
问题内容

在MongoDB中,您可以使用getTimestamp()函数从ObjectId检索日期。如何使用SQL从MongoDBObjectId中检索日期(例如,在将ObjectId存储在MySQL数据库中的情况下)?

输入示例:

507c7f79bcf86cd7994f6c0e

想要的输出:

2012-10-15T21:26:17Z

问题答案:

这可以通过以下方式实现(假设objectId是一个字符串):

SELECT FROM_UNIXTIME(CAST(CONV(SUBSTR(objectId, 1, 8), 16, 10) AS UNSIGNED)) FROM table

它的工作方式如下:

  • SUBSTR(objectId, 1, 8)从十六进制objectId字符串中获取前8个字符
  • CONV(..., 16, 10) 将十六进制数字转换为十进制数字,并将其作为字符串返回(代表UNIX时间戳)
  • CAST (...) AS UNSIGNED 将时间戳字符串转换为无符号整数
  • FROM_UNIXTIME(...) 将时间戳整数转换为日期

请注意,默认情况下,显示的日期将基于系统的时区设置。



 类似资料:
  • 问题内容: 我正在尝试使用pyodbc从SQL Server检索数据,并使用Python将其打印在表中。但是,我似乎只能检索列名和数据类型之类的东西,而不能检索列每一行中的实际数据值。 基本上,我试图复制一个检索服务器数据并将其显示在表格中的Excel工作表。我连接到服务器没有任何问题,只是我似乎无法找到表中的实际数据。 这是我的代码的示例: 但是,这样做的结果只是给我一些诸如表名,列名以及一些整

  • 我试图检索xml值从一列数据存储在xml格式使用下面的查询在OracleSQLDeveloper.但是得到这个错误: ORA-00932:不一致的数据类型:应为-got-00932。00000-“不一致的数据类型:应为%s获得%s”*原因: 列的数据类型为CLOB 如:

  • 我有一个表格管理器,其中有日期、电话号码、用户等列。 我想从2014年1月1日至2014年1月31日之间的表格中检索记录,比如说我想要电话号码。该操作就像每天将50到100个数字插入表中一样,我想查看在特定的星期或特定的日期间隔插入的数字。 我使用的是postgres,我的日期列是varchar类型。我试图在一个java web应用程序中实现这一点,并且将使用jquery日期选择器来选择日期。 样

  • 我是Google日历API和PHP的新手,我似乎不知道如何实现我想做的事情。基本上,我想从calendarID为的google日历中检索事件webapps098@gmail.com.我当前的代码是这样的 我收到错误: 异常Google_ServiceException消息错误调用GEThttps://www.googleapis.com/calendar/v3/calendars/webapps0

  • 问题内容: 我想使用HTTP GET和POST命令从网站检索URL并解析HTML。我该怎么做呢? 问题答案: 您可以将HttpURLConnection与URL结合使用。

  • 我用Java编写了一个应用程序,它使用CloudGarden API解析JSAPI语法,从语法规则返回标记,然后相应地处理这些标记。CloudGarden API的问题是它对Windows的依赖性。我需要一个可以执行相同任务的跨平台库。我不需要语音合成,也不需要语音识别。本质上,一个字符串被传递给包含一些转录语音的程序。我需要根据语法文件解析这个字符串,以检索动作标记(JSGF语法规则中{}之间的