SQL - 将 varchar 转换为日期时间

Posted

技术标签:

【中文标题】SQL - 将 varchar 转换为日期时间【英文标题】:SQL - Convert varchar to datetime 【发布时间】:2015-09-05 17:50:15 【问题描述】:

有什么方法可以将此 varchar -> "18-Jan-2015 12:43:51" 转换为 SQL 数据库中的日期时间? 谢谢。

【问题讨论】:

谷歌搜索可能会有所帮助。如果您尝试过,请提供代码和错误 【参考方案1】:

就像上面每个人所说的,最好的方法是使用转换或强制转换,此外,这是非常基本的 sql

这两种情况都有:

SELECT CAST('18-Jan-2015 12:43:51' AS DATETIME) AS DATE

SELECT CONVERT (DATETIME, REPLACE('18-Jan-2015 12:43:51', '-', ' '))

【讨论】:

【参考方案2】:

convertreplace 一起使用:

Select convert(datetime, replace('18-Jan-2015 12:43:51', '-', ' '), 113)

【讨论】:

【参考方案3】:

试试这个:

SELECT (CONVERT(DATETIME,LEFT('18-Jan-2015 12:43:51',23),101))

【讨论】:

SELECT (CONVERT(DATETIME,LEFT('18-Jan-2015 12:43:51',23),101))。这在 sql server 2012 中工作.. 我得到的结果:2015-01-18 12:43:51.000。我没有收到任何错误。【参考方案4】:

你可以使用如下语句

Select convert(datetime, replace('18-Jan-2015 12:43:51', '-', ' '))

【讨论】:

【参考方案5】:
SELECT CAST('18-Jan-2015 12:43:51' AS DATETIME)

【讨论】:

以上是关于SQL - 将 varchar 转换为日期时间的主要内容,如果未能解决你的问题,请参考以下文章

将 SQL 中的 VARCHAR 列转换为日期时间格式?

sql日期格式转换

如何将sql中带时分秒的日期转换为只有年月日的

如何将 varchar(2020 年 1 月 1 日)中的日期转换为 DB2 sql 中的日期类型?

SQL Server 2008 中的 Varchar 到日期时间

如何在sql中将带时区的varchar转换为日期时间