Преобразования типа данных datetime (ODBC)
Следующие привязки либо уже определены ODBC, либо являются постоянным расширением ODBC. Преобразования, поддерживаемые каждым поставщиком, определяются сообществом, обслуживаемым поставщиком, и в результате часто возникают несоответствия между поставщиками. Значения в квадратных скобках необязательны.
Формат строк типа datetime — «гггг-мм-дд[ чч:мм:сс[.9999999][ плюс/минус чч:мм]]».
Формат строк типа time — «чч:мм:сс[.9999999]»
Формат строк типа date — «гггг-мм-дд».
Преобразования из строк обеспечивают гибкость в отношении пробелов и ширины полей. Дополнительные сведения см. в разделе «Форматы данных: подраздел «Строки и литералы» раздела Поддержка типов данных для улучшений типов даты-времени ODBC.
Далее приведены общие правила преобразования:
Если время отсутствует, но получатель способен его хранить, оно устанавливается в нулевое значение.
Если дата отсутствует, но получатель может ее хранить, то используется текущая дата.
Если в типе данных, используемых клиентом, отсутствует часовой пояс, но сервер может его хранить, то дата сохраняется в часовом поясе клиента. Обратите внимание на отличие от поведения сервера.
Если в типе сервера отсутствует часовой пояс, а в типе клиента он есть, то перед сохранением на сервере время преобразуется в формат UTC.
Если время присутствует, но получатель не может его хранить, то компонент времени игнорируется.
Если дата присутствует, но получатель не может ее хранить, то компонент даты игнорируется.
Если при преобразовании из C в SQL возникает усечение секунд или долей секунд, то создается запись диагностики с кодом SQLSTATE 22008 и сообщением «Переполнение поля Datetime».
Если при преобразовании из SQL в C возникает усечение секунд или долей секунд, то создается запись диагностики с кодом SQLSTATE 01S07 и сообщением «Частичное усечение».
В этом разделе
Преобразования из C в SQL
Перечисляет проблемы, которые необходимо решить при преобразовании типов C в типы даты-времени SQL Server.Преобразования из SQL в C
Перечисляет проблемы, которые необходимо решить при преобразовании типов даты-времени SQL Server в типы C.