Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie füge ich eine Zeitabfrage in Oracle hinzu?

Hier ist mein Vorschlag:Vermeiden Sie CHAR Datentyp, es sei denn, es ist sinnvoll (z. B. in gender , wie Sie es getan haben), sowie VARCHAR>>> verwenden Sie VARCHAR2 stattdessen (ich persönlich verwende nie CHAR , und haben noch nie VARCHAR verwendet ).

DATE Der Datentyp enthält sowohl eine Datums- als auch eine Zeitkomponente, sodass Sie sicher sind, wenn Sie ihn verwenden.

Spalten, die den Primärschlüssel einschränken, müssen nicht den NOT NULL haben Einschränkung angegeben, da Primärschlüssel ohnehin keine Nullen zulassen.

Also, hier ist es, ein funktionierendes Beispiel:

SQL> create table appointment
  2    (appointid    integer constraint pk_app primary key,
  3     appoint_date date,
  4     appoint_type varchar2(5)
  5    );

Table created.

SQL>
SQL> insert into appointment values
  2    (1, to_date('15.04.2017 10:00', 'dd.mm.yyyy hh24:mi'), 'long');

1 row created.

SQL>
SQL> create table doctor
  2    (appointid   integer constraint fk_doc_app references appointment (appointid),
  3     regnum      varchar2(6),
  4     doc_name    varchar2(40),
  5     doc_gender  char(1),
  6     qual        varchar2(80),
  7     --
  8     constraint pk_doc primary key (appointid, regnum)
  9    );

Table created.

SQL>