在 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中文网其他相关文章!