MySql中的日期时间

本文关键字:时间 日期 MySql | 更新日期: 2023-09-27 18:27:44

尝试使用C#从MySql数据库获取数据。表中数据类型"DATE"的列值类似于"2014年10月11日12:00:00 AM"。但我只想有2014年11月10日(或2014-10-11)

但这不起作用。

Select CAST(DumpDate AS DATE), ResourceName, Sum(ActualEffort) 
from Timesheet_Data  where dumpdate >= '2014-10-11' 
group by DumpDate, ResourceName

这也不起作用-Select DATE(DumpDate)

结果值仍然为"2014年11月10日12:00:00 AM"。

我没有访问这个数据库的权限,所以无法检查列是date、varchar还是datetime。根据给定的文档,它说"DumpDate"的数据类型是"Date"。

C#:

private static DataTable GetEffortDataFromMySqlDB()
        {
            DataTable dtEffort = new DataTable();
            try
            {
                string CmdText = "select CAST(DumpDate AS DATE), ResourceName, 
                                  Sum(ActualEffort) from Timesheet_Data  where  
                                  dumpdate >= '2014-10-11' group by DumpDate, 
                                  ResourceName";
           DataSet ds = MySqlHelper.ExecuteDataset(BaseDB.MySqlConnectionString, 
                        CmdText);
                dtEffort = ds.Tables[0];                
            }
            catch (Exception ex)
            {
            }
            return dtEffort;
        }

MySql中的日期时间

Select DATE_FORMAT(DumpDate, '%D/%m/%Y') AS theDate, ResourceName, Sum(ActualEffort) 
from Timesheet_Data  where dumpdate >= '2014-10-11' 
group by DumpDate, ResourceName

Select DATE_FORMAT(DumpDate, '%Y-%m%-d') AS theDate, ResourceName, Sum(ActualEffort) 
from Timesheet_Data  where dumpdate >= '2014-10-11' 
group by DumpDate, ResourceName

您需要使用CONVERT而不是CAST:

Select CONVERT(DATE,DumpDate), ResourceName, Sum(ActualEffort) 
from Timesheet_Data  where dumpdate >= '2014-10-11' 
group by DumpDate, ResourceName