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