Sql 我只想在这个栏里利用时间(新手)

Sql 我只想在这个栏里利用时间(新手),sql,oracle,sql-timestamp,Sql,Oracle,Sql Timestamp,但是,我犯了一个错误 CREATE TABLE Vitals ( Record_No int NOT NULL PRIMARY KEY, Patient_ID int, Date_Taken DATE NOT NULL, Time_Taken time(7) NOT NULL, Systolic int, CHECK (Systolic > Diastolic), Diastolic int,

但是,我犯了一个错误

CREATE TABLE Vitals
(
    Record_No   int NOT NULL PRIMARY KEY,
    Patient_ID  int, 
    Date_Taken  DATE NOT NULL,
    Time_Taken  time(7) NOT NULL,
    Systolic    int, 
    CHECK       (Systolic > Diastolic),
    Diastolic   int,
    Heart_Rate  int CHECK (Heart_Rate > 30),
    CONSTRAINT fk_Patient_ID FOREIGN KEY (Patient_ID) REFERENCES Patients(Patient_ID)
);
当我使用
时间戳默认systimestamp
它起作用了。我所需要的只是
time\u take
列的时间。

您不能使用
时间
数据类型,因为它不是oracle定义的数据类型

您可以使用
日期
时间戳
数据类型来存储带有日期的时间


oracle中支持的数据类型是有文档记录的。

oracle没有时间数据类型,因此您想做什么有点不清楚。您的目标是什么?日期和时间戳数据类型都包括日期和时间组件,可以使用军事时间输入和显示。我不明白你为什么把日期和时间分开列。为什么这些是独立的数据库列?
Time_Taken time(7) NOT NULL,
               *
ERROR at line 6:
ORA-00907: missing right parenthesis