CHAR(19) är för liten för att lagra hela ditt datum med millisekunder.
Använd CHAR(26) istället:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T.%f') AS CHAR(26)) AS REGDT
);
eller ta bort millisekunderna:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T') AS CHAR(19)) AS REGDT
);
Du kan också använda en DATETIME-typ istället för en sträng.