L'exécution du texte de commande dans MySQL Workbench renvoie 2023-04-09 11:37:05.508
Le code suivant, tronqué à : 2023-04-09 11:37:05
. Je veux savoir pourquoi?
est définie comme datetime(3)
.
Utilisez l'exemple de code ci-dessous pour reproduire :
var connection = new MySqlConnection(connectionString.ToString()); connection.Open(); const string commandText = @"SELECT logged_at FROM logs WHERE application_id = @id ORDER BY id DESC LIMIT 1"; var cmd = new MySqlCommand(commandText, connection); cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = 3; var reader = cmd.ExecuteReader(); if (reader.Read()) { Console.WriteLine(reader["logged_at"].ToString()); } connection.Close();
Par défaut,
DateTime.ToString()
n'extrait DateTime qu'en secondes. Cela signifie que la valeur sous-jacente dont vous disposez est plus précise, mais n’est pas imprimée. Vous pouvez le vérifier simplement en plaçant un point d'arrêt et en observant les valeurs des variables de l'application déboguée.Pour obtenir un résultat plus détaillé, vous pouvez utiliser un formateur personnaliséPar exemple :