datetime 数据类型转换 (ODBC)
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
以下转换或者已由 ODBC 定义,或者是 ODBC 的一致扩展。 每个访问接口提供的转换由该访问接口所服务的社区决定,因此,各个访问接口之间通常不一致。 方括号中的值是可选的。
日期时间字符串的格式为 'yyyy-mm-dd[ hh:mm:ss[.9999999][ 加/减 hh:mm]]'
时间字符串的格式为 'hh:mm:ss[.9999999]'
日期字符串的格式为 'yyyy-mm-dd'
从字符串转换允许更灵活处理空格和字段宽度。 有关详细信息,请参阅 ODBC 日期和时间改进的数据类型支持中的“数据格式:字符串和文本”部分。
下面是一般的转换规则:
如果未提供时间但接收方可存储时间,则将时间设置为零。
如果不存在日期但接收方可以存储日期,则使用当前日期。
如果客户端正在使用的数据类型中不存在时区,但服务器可以存储时区,则在客户端时区中存储日期。 请注意,此行为与服务器行为不同。
如果服务器类型中不存在时区,但客户端类型具有时区,则先将时间转换为 UTC,再将其存储到服务器。
如果存在时间但接收方无法存储时间,则忽略时间部分。
如果存在日期但接收方无法存储日期,则忽略日期部分。
如果在从 C 转换到 SQL 时截断了秒或秒的小数部分,则生成带有 SQLSTATE 22008 的诊断记录和消息“日期时间字段溢出”。
如果在从 SQL 转换到 C 时截断了秒或秒的小数部分,则生成带有 SQLSTATE 01S07 的诊断记录和消息“截断小数部分”。
本节内容
由 C 转换为 SQL
列出从 C 类型转换为SQL Server数据/时间类型时要考虑的问题。
由 SQL 转换为 C
列出从SQL Server数据/时间类型转换为 C 类型时要考虑的问题。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈