Oracle中长度为16的PIC S9相当于什么?我希望它用于存储时间戳。
答案 0 :(得分:2)
实际上,在pro-COBOL中管理时间戳时,我会执行以下操作:
77 H-DATETIME PIC X(19).
在Oracle的观点中,我使用DateTime对象
当我想要检索该值时,我使用以下内容:
TO_CHAR(A.TIMESTAMP, 'YYYY-MM-DD-HH24-MI-SS')
当我想更新Oracle字段时,我使用以下内容:
TO_DATE(A.TIMESTAMP, 'YYYY-MM-DD-HH24-MI-SS')
我使用的格式允许排序和使用“SEARCH / SEARCHE ALL”。
希望这有帮助。
答案 1 :(得分:1)
不了解PIC S9,但Oracle有时间戳数据类型。
答案 2 :(得分:0)
如果要将日期或日期时间精确存储到秒,请使用DATE数据类型。如果您需要亚秒级粒度,请使用TIMESTAMP数据类型。
将日期作为数字或字符表示存储在oracle中被认为是一种非常糟糕的做法,因为它使日期验证和日期操作更加复杂,并且可能导致查询优化不佳。