导入excel数据,类型问题

pwl2014 2006-10-23 12:51:52
excel文件中数据:
account subject
51050104012 1
51050104013 1
51050104014 2
51050104015 2
...
数据库 account_test 表结构:
id int
account varchar(20)
subjectId int
使用以下语句导入excel中的数据:
insert into account_test(account,subjectid)
select account,subject
from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\student.xls";Extended properties=Excel 5.0')...Sheet1$
则account字段的值均为:5.10501e+010,使用如下类型转换也没用:
insert into account_test(account,subjectid)
select convert(varchar(20),account),subject
from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\student.xls";Extended properties=Excel 5.0')...Sheet1$
如何解决?
...全文
343 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
roma99 2006-10-27
  • 打赏
  • 举报
回复
convert(varchar(20),account)改成convert(bigint,account)试试,我看邹建大哥以前有个差不多的帖子
sheqiergao 2006-10-25
  • 打赏
  • 举报
回复
把数据导出到excel的语句怎么写?
gdgf 2006-10-25
  • 打赏
  • 举报
回复
该命令导出的Excel表是即时建立,主导出之前建立的Excel表是没有用的,解决办法是在数据导出完成之后,将所有列的文字格式属性改为Text就行了.
zheninchangjiang 2006-10-25
  • 打赏
  • 举报
回复
在EXCEL中加单引号
leixiaoxiang 2006-10-24
  • 打赏
  • 举报
回复
先在库内转换文本,再倒出.
hlq8210 2006-10-23
  • 打赏
  • 举报
回复
设置为字符类型
pwl2014 2006-10-23
  • 打赏
  • 举报
回复
都不行,问题依旧,等待正解
OracleRoob 2006-10-23
  • 打赏
  • 举报
回复

在Excel中设置此列格式为“邮政编码”试试。
zheninchangjiang 2006-10-23
  • 打赏
  • 举报
回复
在导入之前,在EXCEL中已经表示成那样了,想办法在EXCEL中解决
1足够的列宽
2文本
jiangkeredgirl 2006-10-23
  • 打赏
  • 举报
回复
看大虾

27,581

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧