首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据导入数据库时出现的问题

将数据导入数据库时出现的问题
EN

Stack Overflow用户
提问于 2014-10-20 12:57:36
回答 2查看 70关注 0票数 0

excel文件中有两列:名称和时间

当我想要在默认情况下导入数据库时,它会将time列作为varchar类型。

导入excel后,未将其转换为日期格式。

代码语言:javascript
复制
     select distinct cast([time] as datetime) FROM [table1]

它显示了一个错误

代码语言:javascript
复制
 Conversion failed when converting date and/or time from character string 

在时间列中,值类似于9/26/2014,导入后在数据库中插入41908

解决方案是什么?

注意: excel中的时间列中有空值。在导入之前,我手动将时间单元格格式化为日期格式,但仍然不起作用。

EN

回答 2

Stack Overflow用户

发布于 2014-10-20 13:15:58

你总是可以确保按照你想要的设置日期格式

代码语言:javascript
复制
SET DATEFORMAT mdy;

以防日期格式是另一种格式

但您必须注意空值,因此我建议检查值是否为空,如果是,则什么也不做,如果不是,则转换为日期.....

就像这样。

代码语言:javascript
复制
SET DATEFORMAT mdy;
select distinct case when [time] is null then 0 else cast([time] as datetime) end case from [table1]

您总是可以将de cero (0)替换为您想要的任何值。

票数 0
EN

Stack Overflow用户

发布于 2014-10-20 14:04:23

您需要检查两件事,首先,检查SQL表中的列数据类型是Datetime还是varchar。其次,检查您的excel列是否格式化为日期。

现在,要在SQL表中插入日期列

检查以下步骤:

1)对带日期列的excel使用公式=Text(A1,"dd/mm/yyyy")。在导入数据之前,请执行复制粘贴特殊操作,以便从列中删除公式。

2)

代码语言:javascript
复制
SET DATEFORMAT DMY
select distinct Cast(Cast([time] as varchar(11)) as Datetime) FROM [table1]

注:如果excel中的值为NULL,则日期列显示的文本为"NULL“还是为空?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26458795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档