J'essaie de compléter une instruction insert into en obtenant une erreur "Invalid Date".2665 - Erreur de date invalide dans Teradata
Ma requête de création:
CREATE MULTISET TABLE Date_Table,
NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
customer_field,
date_field DATE FORMAT 'YYYY-MM-DD',
other_fields
)
PRIMARY INDEX (date_field);
Ma déclaration d'insertion:
INSERT INTO Date_Table
select
a.customer_field,
a.CAST (date_field AS DATE FORMAT 'yyyy-mm-dd'),
a.other_fields
from a
Ce que j'ai essayé jusqu'à présent:
- Faire la date_fiel d null par
cast(null as date) as date_field
- vérifier chaque date dans le
date_field
contresys_calendar.calendar
pour vous assurer qu'ils sont des dates valides - Vérification du type par
SELECT TYPE (date_field) FROM date_table GROUP BY 1
, tous se révèlent être du type 'date'
Tous pensées?
left join pour sys_calendar, en utilisant votre = calendar_date où . est null. Cela vous dira si vous avez des valeurs qui ne sont pas des dates valides. –
Andrew
Que se passe-t-il si vous supprimez l'INSERT et si vous exécutez simplement le SELECT? Quel est le type de données de la colonne dans la table source? –
@Andrew, c'est ce que j'ai essayé dans ma deuxième balle. Retourne rien –