У меня есть столбец metric_date
типа Varchar в таблице Redshift.Содержит значения даты в формате YYYY-MM-DD
.Я хотел изменить тип столбца на Date и сделал следующий запрос:
ALTER TABLE main.metrics
ALTER COLUMN metric_date TYPE DATE
USING to_date(metric_date, 'YYYY-MM-DD');
Но это привело к следующей ошибке:
Invalid operation: target data type "date" is not supported;
Я решил создать новую таблицугде metric_date
будет иметь тип Date, а затем вставит данные из старой таблицы.Но как вставить значения из столбца типа Varchar в столбец metric_date
типа Date в новой таблице?
CREATE TABLE main.metrics_new
( metric_id varchar(20),
metric_name varchar(20),
metric_date date
);
INSERT INTO main.metrics_new
( metric_id,
metric_name,
metric_date // Date type here
)
SELECT
metric_id,
metric_name,
metric_date // Varchar type here
FROM main.metrics;