适用于:
SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
Analytics 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 类型时要考虑的问题。
日期和时间改进 (ODBC)