Le problème est que vous vous attendez à ce qu'Oracle convertisse implicitement 1234 en un type de caractère. Au contraire, Oracle convertit implicitement la colonne en un nombre. Il y a une valeur non numérique dans la colonne, donc Oracle génère une erreur. La documentation Oracle met en garde contre les transtypages implicites juste avant d'expliquer comment ils seront résolus. La règle qui explique le comportement que vous voyez est :