TIME(2)列的值以额外的精度零显示,而查询仅返回2

时间:2015-03-04 15:37:56

标签: c# mysql sql time dataset

我正在使用以下代码运行简单的SQL查询。在我的查询中,有一个名为 duration 的列,类型为TIME(2)。当我在 MySQL Workbench 上正常运行查询时, duration 的值正确显示,只有2个精度点。但是当我使用DataSet填充我的SqlDataAdapter时,如下所示,DataGridView上会显示6个额外的零值:

using (IDbConnection conn = dataFactory.GetDbConnection())
{
    conn.ConnectionString = Common.Conf.ConnectionString;
    MySqlDataAdapter daRunHistory = new MySqlDataAdapter();
    MySqlCommand cmd = new MySqlCommand();
    cmd.CommandText = "SELECT Name,Duration FROM MyTable;";
    cmd.Connection = conn;
    dsRunHistory = new DataSet();
    daRunHistory.SelectCommand = cmd;
    conn.Open();
    daRunHistory.Fill(dsRunHistory);
    conn.Close();
}

并且不只是DataGridView,零也在我的DataSet中。

1 个答案:

答案 0 :(得分:0)

我最后更改了我的查询,以便格式化我的时间:

SELECT Name, TIME_FORMAT(Duration, '%H:%i:%s') AS 'Duration' 
FROM MyTable