Per SQL-Exception-Handler den Fehler abfangen und dann NULL zurückmelden.

Allerdings würde ich nicht CHAR sondern DIGITS verwenden, das in ein Zwischenfeld packen und vorher 19000000 auf das Feld addieren. Denn was machst du mit z.b. 0991231 (also dem 31.12.1999) ? CHAR gibt den Wert linksbündig ohne Vornull aus.