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

插入最大日期(独立于数据库)

昝涛
2023-03-14

在我的本地设置中,我使用一个简单的H2数据库。“托管”解决方案将有另一个(类似但不相同)数据库。

我需要将最大可能的日期插入到DateTime列中。我试图用

Instant.MAX

但是,这会导致列中出现-169104626-12-11 20:08:15.9999999。

关于如何插入最长可能日期,是否有可靠的选项?

共有1个答案

倪培
2023-03-14

最大日期(独立于数据库)

没有这种事。试图设置最长日期完全取决于数据库。

不幸的是,SQL标准很少涉及日期时间处理的主题。日期时间的数据类型和行为在不同的数据库中差异很大。不同数据库之间的最小值和最大值可能存在根本性差异。即使在一个数据库中,各种日期-时间数据类型的最小/最大范围也可能存在显著差异。例如,一些数据库有旧的专有日期时间类型,以及行为完全不同的较新的更常见或标准类型。

Java本身有非常不同的日期时间类型:

  • 麻烦的遗留类型(java.util)

这些的最小/最大值不同。

关于如何插入最长可能日期,是否有可靠的选项?

没有。

如果您试图使用最大值作为某种标志,例如“未确定的未来日期”,以避免空值,请选择未来足够远的任意日期,以超过任何合法值,但不要超过可能要使用的任何数据库的限制。在Java代码和数据库中为该值定义一个常量,并完整记录。

我建议坚持四位数的年份,以避免各种各样的混乱和问题,比如打破报告

搜索堆栈溢出Java、最小和最大等词,以了解更多讨论。像这样,这样,这样,这样,这样。这个问题基本上是其他问题的重复。

 类似资料:
  • 问题内容: 我需要找出一种将带有字段的记录插入数据库的方法,但我陷入了困境。 有谁知道我该怎么做?现在我有类似的东西。 但是,当我运行类似这样的命令时,出现错误:值的字符串表示形式的语法不正确。 这是sql语句的样子: 谢谢 问题答案: 当然,这将使你的代码更好,但是要回答你的问题,你需要告诉的字符串表示形式。在中(你不指定数据库供应商的名称),使用以下函数将字符串日期转换为:

  • 我的目标是为现有应用程序启用架构和数据迁移。 这种问题似乎已经被问过很多次了,不过我想是因为不同的要求和环境。 由于我在这个领域没有经验,请允许我先介绍一下应用程序的架构和我的假设。 该应用程序是一个多用户企业桌面应用程序,具有后端服务器,可以持久保存到任何主要数据库(MySql,Postgresql,SQL服务器,Oracle数据库等)。假设数据库是内部部署的,并由我们的客户维护。 使用的技术堆

  • 问题内容: 我想知道当前的日期和时间。 代码 表示运行程序的系统的日期和时间,并且系统日期可能是错误的。 那么,无论运行哪个程序的系统日期和时间,有什么方法可以获取正确的当前日期和时间? 问题答案: 如果您在互联网上,则可以询问一个已知且受信任的时间源。如果运行您的程序的人希望阻止您的程序执行此操作(例如,如果您给他们授予了限时许可证,而他们又不想花更多的时间),那么他们可能会欺骗或阻止该连接。

  • 如何确定流中对象的不同属性的最小值和最大值?我已经看到了关于如何得到同一变量的最小值和最大值的答案。我还看到了关于如何使用特定对象属性(例如)获取最小值或最大值的答案。但是我如何获得流中所有“x”属性的最小值和所有“y”属性的最大值呢? 假设我有一个Java

  • 问题内容: 我有一个关于将PHP中的日期插入Oracle DB的问题 所以我在PHP中有这个 问题是,我没有在数据库中插入任何新记录。DELIVERY_DATE的数据类型是 问题答案: 几天前,我遇到了同样的问题,这是日期格式问题。所以我更改了日期格式,它对我有用。您可以尝试下面的代码并对其进行测试,如果它可以工作,则可以根据需要修改代码。

  • insertDate(int $row, int $column, int $timestamp[, string $dateFormat = 'yyyy-mm-dd hh:mm:ss', resource $formatHandler]) int $row $excel = new \Vtiful\Kernel\Excel($config); ​ $dateFile = $excel->fil