[英]Conversion failed when converting date and/or time from character string?
即使查询有效,仍然会发生这种情况的原因是什么?...我的代码如下:)
Select Cdf_Code_Tx, ProjectNo, Convert (Date, [Last Call Back],103) As LastCallBack, (CDF_New_des1_Tx+CDF_New_des2_Tx) As Description
From Products
Inner Join SpecDetails
On CDF_Code_Tx = ProductRef
Inner Join Projects2
On ProjectNo = PID
WHERE [Last Call Back] = (SELECT MAX(Convert (Date, [Last Call Back], 103))FROM Projects2)
Order By Convert (Date, [Last Call Back], 103)
当我运行它时,出现此错误!
消息241,级别16,状态1,行1转换在从字符串转换日期和/或时间时失败。
需要指导并提前感谢您。
我认为你的问题在这里因为我似乎[Last Call Back]是varchar()数据类型,当你转换varchar数据类型是日期并与varchar比较然后你有这个错误请你应该改变相同数据类型的两个条件
WHERE [Last Call Back] = (SELECT MAX(Convert (Date, [Last Call Back], 103))FROM Projects2)
我想您需要检查表格中[Last Call Back]
列的数据。 检查所有数据是否对日期转换有效。 我认为某些字符串无法将其转换为日期。 所以你需要通过ISDate()函数检查它。 ISDDate()函数将根据您的语言和文化工作,如下所示。
SET LANGUAGE british
SELECT ISDATE('2013-11-20') /* will return 0 */
SET LANGUAGE us_english
SELECT ISDATE('2013-11-20') /* will return 1 */
例如,如果您的列具有如下格式,那么它将给出错误
SELECT CONVERT(DATE, '2013-11-20', 103)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.