Я столкнулся с проблемой. У меня есть две таблицы DB2, мы можем назвать их Table1 и Table2 для этого вопроса. В таблице 1 есть столбец с именем Birthdate, который имеет тип данных CHAR и читается как «19781205».
Мне нужно вставить некоторую информацию из таблицы 1 в таблицу 2. Таблица 2 имеет столбец DATE_OF_BIRTH с типом данных DATE. Мне нужно вставить Table1.Birthdate в Table2.DATE_OF_BIRTH.
Я попробовал следующее, основываясь на том, что видел онлайн:
INSERT INTO TABLE2
(SELECT Name, TO_DATE(Birthdate,'yyyy-mm-dd') AS DATE_OF_BIRTH
FROM TABLE1)
И получил эту ошибку: ЗНАЧЕНИЕ НЕ СОВМЕСТИМ С ТИПОМ ДАННЫХ ЕГО ЦЕЛИ. НАЗВАНИЕ ЦЕЛЯ DATE_OF_BIRTH.
INSERT INTO TABLE2
(SELECT
Name, DATE(Birthdate, 'YYYYMMDD') AS DATE_OF_BIRTH
FROM TABLE1)
И получил эту ошибку: КОЛИЧЕСТВО АРГУМЕНТОВ, УКАЗАННЫХ НА ДАТУ, НЕДОПУСТИМО.
INSERT INTO TABLE2
(SELECT
Name, Cast(Birthdate as date) AS DATE_OF_BIRTH
FROM TABLE2)
И получил эту ошибку: ДАТА, ВРЕМЯ ИЛИ ВРЕМЕНА ЗНАЧЕНИЕ * N НЕДОПУСТИМО.
Вероятно, это всего лишь случай, когда я слишком долго кодировал и работал над этим, что я не могу обернуть голову вокруг него.