如何在SQL Server 2008中设置默认日期格式dd/mm/yyyy?

发布于 2024-10-21 08:21:18 字数 431 浏览 3 评论 0原文

我有一个 Excel 文件,其中包含一列格式为 dd/mm/yyyy 的日期。当我尝试使用 openrowset 导入它时,它说存在数据类型不匹配。我有一个表,其中日期定义为类型date。现在,我知道 SQL Server 中的默认日期格式是 yyyy-mm-dd。我怎样才能避免这种冲突?有没有办法让默认的日期类型为dd/mm/yyyy?我每天都需要执行此导入操作,并且它必须是自动化的,因此我不能承受它在中间失败的后果。我尝试使用 sp_addlanguage 将其设置为英式,因为默认日期类型是 dd/mm/yyyy但它不起作用:(。我使用 SQL Server 2008 和 Windows 7,如果有任何帮助,请帮助我!

I have an Excel file that contains a column full of dates in the dd/mm/yyyy format. When I try to import it using openrowset, it said that there was a datatype mismatch. I have a table where the date is defined as type date. Now, I know that the default date format in SQL Server is yyyy-mm-dd. How can I avoid this conflict? Is there a way I can make the default date type be dd/mm/yyyy? I need to do this import operation everyday and it has to be automated and so I cannot afford it to fail in between. I tried using sp_addlanguage to make it British as the default date type is dd/mm/yyyy there, but it didn't work :(. I'm using SQL Server 2008 and Windows 7, if that is of any help. Please help me out! Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玩心态 2024-10-28 08:21:18

您可以在插入之前CONVERT传入的数据。因此,在 openrowset 语句中选择字段时,可以使用 CONVERT 语句将其包围。下面是一个示例:

print convert(date,'19/07/2010',103)

这是一个英国风格的日期,但是如果您运行它,您可以看到它已将其转换为 SQL 友好的格式。

You could CONVERT the incoming data before you insert it. So, in the openrowset statement, where you select the field, you could surround it with a CONVERT statement. Here's an example:

print convert(date,'19/07/2010',103)

This is a UK style date, but if you run it you can see that it's converted it to SQL-friendly format.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文