ORA-30089 при выполнении CREATE TABLE с полем типа DATE

Вы можете сделать это более просто, используя plot() вместо plot_date().

Сначала преобразуем ваши строки в экземпляры Python datetime.date:

import datetime as dt

dates = ['01/02/1991','01/03/1991','01/04/1991']
x = [dt.datetime.strptime(d,'%m/%d/%Y').date() for d in dates]
y = range(len(x)) # many thanks to Kyss Tao for setting me straight here

Затем сюжет:

import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())
plt.plot(x,y)
plt.gcf().autofmt_xdate()

Результат:

enter image description here [/g0]

1
задан GMB 18 March 2019 в 00:41
поделиться

2 ответа

Оператор CREATE TABLE объявляет столбец DURACION как тип данных INTERVAL

INTERVAL не является допустимым типом данных. Вы можете использовать INTERVAL YEAR TO MONTH или INTERVAL DAY TO SECOND (с различной точностью).

Рассмотрим, например:

CREATE TABLE EVENTO(
    ID_EVENTO NUMBER PRIMARY KEY,
    ID_COMPLEJO NUMBER NOT NULL,
    N_COMISARIOS NUMBER,
    FECHA_EVENTO DATE,
    N_PARTICIPANTES NUMBER,
    DURACION INTERVAL YEAR TO MONTH,
    EQUIPAMIENTO VARCHAR2(255),
    FOREIGN KEY (ID_COMPLEJO) REFERENCES COMPLEJO
);

Демонстрация по DB Fiddle

Ссылка: Типы данных Oracle .

0
ответ дан GMB 18 March 2019 в 00:41
поделиться

Тип INTERVAL в поле длительности недопустим, он не существует как тип данных. Я рекомендую вам использовать дату начала и дату окончания, которая лучше и может предоставить гораздо лучшую информацию. Работа с интервалами может принести много проблем в будущем.

 CREATE TABLE EVENTO(
    ID_EVENTO NUMBER PRIMARY KEY,
    ID_COMPLEJO NUMBER NOT NULL,
    N_COMISARIOS NUMBER,
    FECHA_EVENTO DATE,
    N_PARTICIPANTES NUMBER,
    FECHA_INICIO DATE,
    FECHA_FIN DATE,
    EQUIPAMIENTO VARCHAR2(255),
    FOREIGN KEY (ID_COMPLEJO) REFERENCES COMPLEJO
)
0
ответ дан Vega 18 March 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: