2015-11-25 40 views
-3
SELECT communication.* 
     ,employeedetails.resourcename 
FROM communication 
     ,employeedetails 
WHERE employeedetails.employeenumber = communication.employeenumber 
     AND communication.project = employeedetails.projectname 
ORDER BY 
     CONVERT(DATETIME ,communication.month ,5) 

我收到以下错误消息:日期和/或时间的字符串错误信息

“转换,从字符 字符串转换日期和/或时间时失败”

请帮助我

+0

什么(是)在communication.month值(S)?至少其中一个必须是不正确的。 –

+0

日期时间值在communication.month –

+1

你应该尝试更好地解释你的表是如何组织的,并给出一些数据示例 – Simone

回答

-1

这并不容易没有关于数据表的信息! 但是,如果名称有意义,如何将一个月转换为日期? 如果现有试试这个:

SELECT communication.*, employeedetails.resourcename 
FROM communication, employeedetails 
WHERE employeedetails.employeenumber = communication.employeenumber and communication.project = employeedetails.projectname 
ORDER BY communication.day, communication.month, communication.year --due to style 5 

即使我会建议去风格12

-1

communication.month的数据类型大概是字符类型。如果这个一月份持有“January”等,那么SQL无法将该字符转换为日期时间。您需要附加一个字符串,以便SQL可以将其解析为日期时间。
例如ORDER BY CONVERT(datetime,communication.month + '01 2000',5)

然而,存储,通信日期为datetime首先会更好......

相关问题