日期时间转换错误-Excel到SQL

日期时间转换错误-Excel到SQL,sql,excel,Sql,Excel,我在两个不同的SQL服务器上有两个数据集。我已经得到了数据集1并将其放入Excel,然后将其放入临时表中,这样我就可以根据服务器2上的数据进行查询。以下是我创建的SQL代码: Create table #JWTemp1 (AutoID varchar(10), IDNumber varchar(20), AltIDNumber varchar(20), AdmitDTTM datetime, AdmitDay varchar(15), AdmitWeekNo int) Insert i

我在两个不同的SQL服务器上有两个数据集。我已经得到了数据集1并将其放入Excel,然后将其放入临时表中,这样我就可以根据服务器2上的数据进行查询。以下是我创建的SQL代码:

    Create table #JWTemp1 (AutoID varchar(10), IDNumber varchar(20), AltIDNumber varchar(20), AdmitDTTM datetime, AdmitDay varchar(15), AdmitWeekNo int)

Insert into #JWTemp1 Values('ID001','BCC445567','ABC445567','42510.7326388889','Friday','21')
每次尝试运行代码时,都会出现以下错误:

从字符串转换日期和/或时间时,转换失败


我知道这是一个常见的错误,但我已经尝试了各种方法,结果一无所获。有什么建议吗?

您必须格式化字符串。不确定您使用的是什么数据库,但这里是mySql的语法

DATE_FORMAT(colName, '%Y-%m-%d') DATEONLY
DATE_FORMAT(colName,'%H:%i:%s') TIMEONLY

不幸的是,所提供的答案似乎没有一个奏效。但是,我使用以下逻辑解决了这个问题:

Create table #JWTemp1 (AutoID varchar(10), IDNumber varchar(20), AltIDNumber varchar(20), AdmitDTTM datetime, AdmitDay varchar(15), AdmitWeekNo int)

Insert into #JWTemp1 Values('ID001','BCC445567','ABC445567','42510.7326388889','Friday','21')

Select
convert(datetime, Convert(float,AdmitDTTM))

什么是
42510.7326388889
——我认为这不是有效的
datetime
格式,因此无法转换?你能解释一下这个字符串是什么意思吗?当我从原始SQL查询中提取datetime并将其粘贴到excel中时,它就是以这种格式显示的。我想我可以先用SQL进行转换,并将其转换为正确的格式-这可能会起作用实际的日期时间值为:2016-05-20 17:35:00。000@Jimmy这就是Excel查看日期的方式。您需要将其转换回SQL将视为日期的字符串。