CHAR(19) est trop petit pour stocker toute votre date en millisecondes.
Utilisez CHAR(26) à la place :
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T.%f') AS CHAR(26)) AS REGDT
);
ou supprimer les millisecondes :
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T') AS CHAR(19)) AS REGDT
);
Vous pouvez également utiliser un type DATETIME au lieu d'une chaîne.