我们需要在Oracle列中以date数据类型存储00-00-00。但甲骨文并不允许。
是否有其他表现形式或存储方式?
答案 0 :(得分:3)
Oracle确实允许您插入1月1日1AD日期:
INSERT INTO table_name ( date_column ) VALUES ( DATE '0001-01-01' );
答案 1 :(得分:0)
我不知道这是否相关,但我曾经“需要”存储1996年4月0日,1996年第0期等。真正的要求是这些财务交易可以不分别分配到一天或一个月(例如日记帐凭证)。
解决方案是使用实际日期(1996年4月1日,1996年1月1日),并添加另一列给出记录的“范围” - “D”,“M”,“Q”,“Y” ”
因此,如果需要1996年4月1日的所有交易,可以将date_scope ='D'谓词添加到my_date = date'1996-04-01',以确保仅检索每日交易。
如果需要1996年4月的所有交易......
my_date between date '1996-04-01' and date '1996-04-30' and
date_scope in ('D','M')