在 SQL Server 中處理 mmddyyyy VARCHAR 到 DATETIME 轉換
在 SQL Server 中直接將 mmddyyyy 格式的字串轉換為 DATETIME 通常會導致錯誤。 這是因為標準 CONVERT
函數需要特定的日期格式。 本文為這個常見問題提供了一個可靠的解決方案。
這裡有一個可靠的方法:
<code class="language-sql">DECLARE @Date VARCHAR(8) SET @Date = '12312009' SELECT CONVERT(DATETIME, RIGHT(@Date, 4) + '-' + LEFT(@Date, 2) + '-' + SUBSTRING(@Date, 3, 2))</code>
此程式碼的功能如下:
RIGHT
函數擷取年份(最後四個字元)。 LEFT
函數擷取月份(前兩個字元)。 SUBSTRING
擷取日期(字元 3 和 4)。 yyyy-mm-dd
字串。 CONVERT
將此字串轉換為 DATETIME 值。 此技術透過明確地將字串元件重新排列為 SQL Server DATETIME 解釋的正確順序,克服了簡單 CONVERT
的限制,有效解決了超出範圍的錯誤。 這可確保 mmddyyyy 字串準確可靠地轉換為 DATETIME 資料類型。
以上是如何在 SQL Server 中將 mmddyyyy VARCHAR 字串轉換為 DATETIME?的詳細內容。更多資訊請關注PHP中文網其他相關文章!