0

在 SQL Server 2008 中,如何将类型为 ' MMMM DD,YYYY' (ie June 01, 2013) 的字符串转换为常规的 datetime 类型 ( 20130601)?

据我所知,Convert()仅适用于将日期转换为字符串,而不是相反。我确信某处有一个标准化的答案,但我找不到适用于 SQL Server 的答案。我应该编写一个自定义过程来解析字符串吗?

4

1 回答 1

1

虽然不建议以字符串格式存储您的日期,但您仍然可以正确地将字符串转换为日期。当您知道确切的格式时,请避免使用cast和使用-在此处convert查看可能的格式。

set language english
select convert(datetime, 'June 01, 2013', 107)

-----------------------
2013-06-01 00:00:00.000

107 格式的转换取决于您的连接设置。例如,如果您的连接语言不是英语,您可能会收到错误消息

set language norwegian
select convert(datetime, 'June 01, 2013', 107)

-----------------------
Msg 241, Level 16, State 1, Line 2
Conversion failed when converting date and/or time from character string.
于 2013-07-31T05:45:07.163 回答