簡體   English   中英

從字符串轉換日期和/或時間時轉換失敗?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM