1
create table Coordinate_with
(
  cor_id char(6),
  cmp_id char(6),
  start_date date,      
  shifted varchar(10),  
  primary key (cor_id,cmp_id),
  foreign key (cor_id) references Coordinator(cor_id),
  foreign key (cmp_id) references Company(cmp_id)
);

insert into Coordinate_with
values ('COR-01','CMP-02','2009-03-22','Morning');

エラー ORA-01861 をスローしています: リテラルがフォーマット文字列と一致しません。

4

1 に答える 1

5

「プレーンな」文字列を指定すると、値は NLS 設定に基づく暗黙的な型変換を使用して変換されます。(標準の) 日付リテラルには、キーワードのdate後に​​ ISO スタイル (yyyy-mm-dd) でフォーマットされた文字列が続く必要があります。

insert into Coordinate_with 
  (cor_id, cmp_id, start_date, shifted)
values 
  ('COR-01','CMP-02', DATE '2009-03-22','Morning');

to_date()または、次の関数を使用できます。

insert into Coordinate_with 
  (cor_id, cmp_id, start_date, shifted)
values 
  ('COR-01','CMP-02', to_date('2009-03-22', 'yyyy-mm-dd','Morning');



ところで:work_shiftのより良い列名だったかもしれませんshifted。列に含まれるものと一致する名前を見つける必要があると言いました。

于 2013-04-27T17:54:50.367 に答える