【问题标题】:Validation error "Column must be a valid timestamp"验证错误“列必须是有效的时间戳”
【发布时间】:2017-12-07 22:57:42
【问题描述】:

所以我在 oracle 上创建表单,但我无法在 TIMESTAMP 字段中输入时间。我只能输入日期,如果我什至尝试用日期添加时间,它会引发错误。这是它的样子:

所以基本上,它只允许我输入日期,但不能输入时间..

而我的 deptime 和到达时间的数据类型是 TIMESTAMP(6),事实上,当我使用 sql 语句输入值时,它会随着时间的推移完全正常。

【问题讨论】:

  • 我们可以看看你的代码吗?
  • @Dragonthoughts 你的意思是数据类型和我给每个字段的所有内容?
  • 完全不熟悉表单,但是......当您创建表单时,您必须在某个地方告诉“表单”接受时间戳的格式模型。要么,要么有一个默认值(显然你需要覆盖它)。如果“创建表单”意味着“自己编写一些代码”,请查找以用户输入为参数的 TO_TIMESTAMP(...) 调用,其中格式模型为“DD-MON-RR”。当您在那里时,将格式模型更改为“DD-MON-YYYY”(同时添加模型的时间组件); 2017 年两位数的年份绝对没有任何借口。
  • @mathguy 我没有.. 它接受与我的表格相同的格式。这是时间戳(6)
  • 这是 APEX,而不是 Oracle Forms。

标签: sql oracle plsql oracle-apex


【解决方案1】:

对于DATETIMESTAMP 类型的列,Oracle 没有内在的“格式”——您的表没有指定任何格式。输入/输出格式模型由应用程序提供,在本例中为 Oracle Application Express (APEX)。

您可以在项目上指定格式掩码,例如DD-Mon-RRRR HH24:MI:SS

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多