CHAR(19) ist zu klein, um Ihr ganzes Datum mit Millisekunden zu speichern.
Verwenden Sie stattdessen CHAR(26):
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T.%f') AS CHAR(26)) AS REGDT
);
oder entfernen Sie die Millisekunden:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T') AS CHAR(19)) AS REGDT
);
Sie können statt eines Strings auch einen DATETIME-Typ verwenden.