SQL Server 中的字符串到日期类型转换问题
我正在尝试将字符串数据类型转换为日期,但它适用于某些日期,但不适用于其他日期。我正在使用 convert()
函数
示例
当我将此值赋予 string
参数时,它可以正常工作
select Convert(DATE, '01/05/2017', 101)
但尝试用不同的但相同的代码正确的日期不起作用,并给出如下所示的错误
select Convert(DATE, '13/06/2013', 101)
我收到以下错误:
转换时消息 241,级别 16,状态 1,第 15 行转换失败 字符串中的日期和/或时间。
I am trying to typecast the string data to date but it works with some date but not for others. I am using the convert()
function
Example
When I give this value to the string
parameter it works fine
select Convert(DATE, '01/05/2017', 101)
but trying the same code with a different but correct date doesn't work and gives the below-shown error
select Convert(DATE, '13/06/2013', 101)
I am getting the following error:
Msg 241, Level 16, State 1, Line 15 Conversion failed when converting
date and/or time from character string.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正如 @Squirrel 在评论中提到的,正确的样式是
103
,来自 文档我建议不要将日期存储为文本,您可以使用日期时间创建另一列(即使这超出了问题范围)并更新该列,如下例所示:
演示
As @Squirrel mentioned in the comments the right style is
103
, from the docsI will suggest never store dates as text, you can create another column with datetime (even though this is out of the question scope) and update the column like the example below:
Demo
@Muhammad Waheed 请检查这可能对你有帮助..
因为 SQL Server 在你的第二个示例中将 13 视为一个月。这就是导致错误的原因。
@Muhammad Waheed Please check this might be helpful to u..
because SQL Server is considering 13 in your second exemple as a month. that's why causing error.