我有一个Excel文件,其中包含一列满是日期的日期,格式为dd/mm/yyyy格式。当我尝试使用openrowset导入它时,它说有一个数据类型不匹配。我有一个表格,其中日期定义为date
。现在,我知道SQL Server中的默认日期格式是yyyy-mm-dd。我怎样才能避免这种冲突?有没有办法让我的默认date
类型为dd/mm/yyyy?我需要每天做这个导入操作,并且必须是自动化的,所以我承担不起它之间的失败。我尝试使用sp_addlanguage
使它成为英国作为默认日期类型是dd/mm/yyyy那里,但它没有工作:(。我使用SQL Server 2008和Windows 7,如果这是任何帮助请帮我谢谢如何在SQL Server 2008中使默认日期格式为dd/mm/yyyy?
回答
你可以在插入之前,所以,在OPENROWSET语句,这样你选择的领域,你可以用CONVERT
发言围绕着它CONVERT
传入的数据下面是一个例子!。:
print convert(date,'19/07/2010',103)
这是英国式的日期,但如果你运行它,你可以看到它它转换成SQL友好的格式。
@Tom:我有以下的SQL查询:'SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0; IMEX = 1; HDR = NO; DATABASE = D:\ Nemmadi Project \ Dummy Bank Statement .xls','Select * from [Sheet1 $]')'我应该在哪里添加'CONVERT'语句?此外,我可以在CSV格式中通过“批量插入”成功插入它。文件中的日期格式为:2011年3月1日(2011年3月1日)。我做了:'设置语言'英式英语' 从'D:\ Nemmadi Project \ Dummy Bank Statement.csv'批量插入bank_report与 (firstrow = 2,maxerrors = 0,FIELDTERMINATOR =',',ROWTERMINATOR ='\ n ')' – CodingInCircles 2011-03-10 11:26:44
@Tom:但是当我查看表格时,日期被插入为:2011-03-01 00:00:00.000。该怎么办?在定义表格时,当我试图将日期列作为“DATE”类型时,“BULLK INSERT”拒绝工作,只有在创建“DATETIME”时才工作。任何解决方法? – CodingInCircles 2011-03-10 11:29:51
首先,如果您指定了实际的行(您在完成*后会在行标题中看到名称),而不是选择*。我们假设它们是:Field1,Field2,Field3,而Field2是日期列。然后您可以重新编写语句:SELECT Field1,CONVERT(date,Field2,103),Field3 FROM OPENROWSET ...这将是我的首选方法,而不是搞乱语言设置......但如果它适合您.. – 2011-03-10 11:53:20
- 1. Rails中的默认日期格式(需要为ddmmyyyy)
- 2. 在SQL Server 2008中格式化日期?
- 3. 日期时间格式在SQL Server 2008
- 4. C#解析日期为“DDMMYYYY”格式?
- 5. 如何格式化SQL Server中的日期2008年
- 6. SQL Server:如何使用getdate()指定特定的默认日期格式?
- 7. 日期的默认格式
- 8. Matplotlib默认日期格式?
- 9. Jsp默认日期格式
- 10. 在SQL Server 2012中的日期格式
- 11. 在Sql Server中转换日期格式
- 12. 在SQL Server中更改日期格式
- 13. SQL Server日期格式yyyymmdd
- 14. SQL Server日期格式 - ddd
- 15. SQL Server的日期格式
- 16. 如何在sql server 2008中将文本转换为日期?
- 17. 如何在SQL Server 2008中将日期时间格式的字符串dd/mm/yy转换为日期时间?
- 18. 如何在Sql Server 2008中以datetime2格式减去两个日期
- 19. 日期格式问题2008
- 20. SQL Server 2008中默认的用户名
- 21. SQL Server 2008 - 日期函数和公式
- 22. 日期时间格式2008
- 23. 如何在C#中解析默认的git日期格式
- 24. 如何在Rails 3中更改日期的默认格式?
- 25. SQL Server 2008搜索日期
- 26. 格式SYSDATETIMEOFFSET在SQL Server 2008
- 27. 在SQL Server 2008中强制默认模式
- 28. 如何使用android日期格式从sql server 2008返回数据?
- 29. 设置默认的日期格式
- 30. 设置datepicker的默认日期格式?
它有助于更改Excel文件中的日期格式吗?或者是被忽略的格式? – Svish 2011-03-10 10:53:50
@Svish:这是一个固定的格式,将来自其他地方,不能混淆。 – CodingInCircles 2011-03-10 10:56:41