从test1中选择(Sold_date-to_date('1970-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))*86400作为epoch_sold_date;
什么是sold_date
?对于例如sysdate
(返回date
datatype的函数),代码工作正常。
SQL> select (sysdate
2 - to_date('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
3 ) * 86400 as epoch_sold_date
4 from dual;
EPOCH_SOLD_DATE
---------------
1600807918
SQL>
由于sold_date
是一个时间戳,但是--您似乎对一秒钟的分数不感兴趣或不感兴趣,因此将其强制转换为date
:
select (cast (systimestamp as date) --> this
- to_date('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
) * 86400 as epoch_sold_date
from dual;
如果您对所有行都得到相同的结果:嗯,我没有,如果sold_date
不同,您也不应该这样做。
SQL> with test (sold_date) as
2 (select timestamp '2020-09-22 00:00:00.000000' from dual union all
3 select timestamp '2015-03-18 00:00:00.000000' from dual
4 )
5 select sold_date,
6 (cast (sold_date as date)
7 - to_date('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
8 ) * 86400 as epoch_sold_date
9 from test;
SOLD_DATE EPOCH_SOLD_DATE
------------------------------ ---------------
22.09.20 00:00:00,000000000 1600732800
18.03.15 00:00:00,000000000 1426636800
SQL>
SQL> with test (sold_date) as
2 (select timestamp '2020-09-22 10:15:00.000000' from dual union all
3 select timestamp '2015-03-18 08:05:00.000000' from dual
4 )
5 select sold_date,
6 lead(sold_date) over (order by sold_date) next_sold_date,
7 --
8 lead(sold_date) over (order by sold_date) - sold_date diff,
9 --
10 extract(day from lead(sold_date) over (order by sold_date) - sold_date) diff_mins
11 from test
12 order by sold_date;
SOLD_DATE NEXT_SOLD_DATE DIFF DIFF_MINS
------------------------------ ------------------------------ ------------------------------ ----------
18.03.15 08:05:00,000000000 22.09.20 10:15:00,000000000 +000002015 02:10:00.000000000 2015
22.09.20 10:15:00,000000000
SQL>
SQL> with test (date_1, date_2) as
2 (select timestamp '2020-09-22 10:15:00.000000',
3 timestamp '2020-09-22 08:05:00.000000' from dual
4 )
5 select (cast(date_1 as date) - cast(date_2 as date)) * 24 * 60 diff_minutes
6 from test;
DIFF_MINUTES
------------
130
SQL>
我想将存储在GCS中的Avro文件中的数据加载到大查询表中。avro中的两个字段具有datetimc 我有几个字段的Avro文件,其中一个字段具有具有Long类型的Epoch时间值。对于该字段,我希望在使用命令行工具或控制台将Avro文件数据加载到Bigquery表时以“时间戳”格式加载值。例如:我有一个具有值1614004223589的列,我希望该值使用命令行工具或控制台2021-02-22 1
问题内容: 我有一列称为“ s_timestamp”。 如何返回时间戳中具有当天的所有记录? 例如, 我想要以下输出: 让我知道是否不清楚。 问题答案: 只是使用。例如 日期() CURDATE()
问题内容: Iam试图弄清楚数据是在大约5分钟内保存到数据库的。 是Unix时间戳(1970年以来的毫秒)。 不起作用,我得到null而不是0,如果我使用 要执行操作,代码不会进入循环。 我也试过了 问题答案: Current_timestamp以SQL TIMESTAMP(而不是UNIX时间戳)的形式返回当前日期,因此您必须使用unix_timestamp函数进行转换: 编辑: 由于您的列中包含
问题内容: 我最近了解到oracle具有对我来说非常有用的功能-因为设计者/实现者不太在意数据历史记录- 我可以查询记录的历史状态(如果它在oracle缓存中仍然可用),如下所示: 但是现在我需要检查范围内的历史数据。使用缓存是否有可能? 问题答案: 是的,像这样: 请注意,您可以走多远受UNDO_RETENTION参数的限制,通常为几小时而不是几天。
我选择“无时区”是因为我知道我的应用程序使用的所有时间戳总是UTC。就我得到的文档而言,“with timestamp”的唯一区别是,我可以提供其他时区的值,然后将其转换为UTC。然而,我想避免这样的自动转换,因为如果我知道我的值是UTC,它们几乎没有任何好处。 当我在测试表中添加新记录并使用pgAdmin查看表的内容时,我可以看到插入日期已正确地保存为UTC格式。 但是,当我尝试使用JDBC选择
问题内容: 我有一个表,该表在sqlite3中有一个带有时间戳的列。默认为,这样当插入行时,将插入当前时间。现在,我试图获取两天或更早之前插入的行。我想知道这是否有意义。 阅读我想到的文档: 但是显然那是错误的。我提出此查询,是因为它类似于我在实际代码中进行测试的方式: 。 但是我希望sqlite3包含一些针对这种情况的内置检查。 谢谢,我感谢您的任何答复。 编辑 :弄清楚了: 如果有人能提出更好