【发布时间】:2020-12-01 06:14:19
【问题描述】:
我想创建一个 witj 约束表,它将两个 varchar2(8 char) 列作为时间进行比较。 有可能吗?
我做了一些这样的想法,但它不起作用:(
CONSTRAINT "my_constraint" CHECK (to_number(to_char(to_date(window_stop, 'hh24:mi:ss'), 'sssss')) > to_number(to_char(to_date(window_start, 'hh24:mi:ss'), 'sssss'))) ENABLE
感谢所有帮助。 保罗。
【问题讨论】:
-
究竟是什么不起作用?你有错误吗?错误的行为?
-
这是一个非常糟糕的主意。始终使用日期字段来存储日期。时间基本上是格式为 hh:mi:ss 或 hh24:mi:ss 的日期。
-
你得到的是 `ORA-02436 吗? ??
-
如果值都是带前导零的 HH24:MI:SS,你不能把它们作为字符串比较吗?另外,“停止”总是与“开始”在同一天吗?如果它可以跨越午夜,那么这个约束无论如何都不会正确。
-
是的,我有 ORA-02436
标签: oracle constraints string-comparison create-table