gpt4 book ai didi

c# - 在 C# 中格式化 SQL 友好的日期/时间

转载 作者:行者123 更新时间:2023-11-30 13:27:52 25 4
gpt4 key购买 nike

我正在为我的应用程序构建一些测试场景。为了做到这一点,我有一些代码可以生成一些 SQL 来帮助我正确测试。此处显示了生成的 SQL 示例:

INSERT INTO MyTable
(
[ID],
[Name],
[CheckInDate],
[CheckOutDate]
)
VALUES
(
1,
'A title',
'Sat, 17 Dec 2011 14:33:12 GMT',
'Sat, 17 Dec 2011 15:13:12 GMT'
)

当我尝试执行此 SQL 时,我收到以下信息:从字符串转换日期和/或时间时转换失败。

如何设置日期/时间字符串的格式以便 SQL Server 2008 接受它们?我真的需要我的 C# 代码来生成 SQL(包括日期/时间项)以正确创建我的测试。

谢谢!

最佳答案

解决此问题的方法是使用 SQL Server 支持的 ISO-8601 日期格式 - 这种格式始终 - 无论您的 SQL Server 语言和日期格式设置。

ISO-8601 format SQL Server 支持有两种形式:

  • YYYYMMDD 仅用于日期(无时间部分)- 请注意:无破折号!,这非常重要! YYYY-MM-DD 独立于 SQL Server 中的日期格式设置,并且在所有情况下都有效!

或:

  • YYYY-MM-DDTHH:MM:SS 表示日期和时间 - 请注意:此格式破折号。

这对 SQL Server 2000 和更新版本有效。

如果您使用 SQL Server 2008 和 DATE 数据类型(仅 DATE - 不是 DATETIME!),那么您确实也可以使用 YYYY-MM-DD 格式,这也适用于 SQL Server 中的任何设置。

不要问我为什么整个主题如此棘手且有些令人困惑 - 就是这样。但是使用 YYYYMMDD 格式,您应该适用于任何版本的 SQL Server 以及 SQL Server 中的任何语言和日期格式设置。

关于c# - 在 C# 中格式化 SQL 友好的日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com