Использование типов данных
Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)
Драйвер ODBC SQL Server Native Client и SQL Server применять следующие типы данных.
Тип данных | Ограничение |
---|---|
Литералы даты | Литералы даты, хранящиеся в столбце SQL_TYPE_TIMESTAMP (SQL Server типах данных datetime или smalldatetime), имеют значение времени 12:00:00.000. |
money и smallmoney | Важное значение имеют только целочисленные части типов данных money и smallmoney . Если десятичная часть денежных данных SQL усечена во время преобразования типов данных, драйвер ODBC SQL Server Native Client возвращает предупреждение, а не ошибку. |
SQL_BINARY (допускающий значения NULL) | При подключении к экземпляру SQL Server версии 6.0 и более ранних, если столбец SQL_BINARY допускает значение NULL, данные, хранящиеся в источнике данных, не заполняются нулями. При извлечении данных из такого столбца драйвер ODBC SQL Server Native Client заполняет его нулями справа. Однако данные, созданные в операциях, выполняемых SQL Server, таких как объединение, не имеют такого заполнения. Кроме того, если данные помещаются в такой столбец в экземпляре SQL Server 6.0 или более ранней версии, SQL Server усекает данные справа, если они слишком длинные, чтобы поместиться в столбец. Примечание. Драйвер ODBC SQL Server Native Client поддерживает подключение к SQL Server 6.5 и более ранним версиям. |
SQL_CHAR (усечение) | При подключении к экземпляру SQL Server 6.0 и более ранних версий данные помещаются в столбец SQL_CHAR, SQL Server усекает их справа без предупреждения, если данные слишком длинные, чтобы поместиться в столбец. Примечание. Драйвер ODBC SQL Server Native Client поддерживает подключение к SQL Server 6.5 и более ранним версиям. |
SQL_CHAR (допускающий значения NULL) | При подключении к экземпляру SQL Server 6.0 и более ранних версий, если столбец SQL_CHAR допускает значение NULL, данные, хранящиеся в источнике данных, не заполняются пробелами. При извлечении данных из такого столбца драйвер ODBC SQL Server Native Client заполняет его пустыми полями справа. Однако данные, созданные в операциях, выполняемых SQL Server, таких как объединение, не имеют такого заполнения. Примечание. Драйвер ODBC SQL Server Native Client поддерживает подключение к SQL Server 6.5 и более ранним версиям. |
SQL_LONGVARBINARY, SQL_LONGVARCHAR, SQL_WLONGVARCHAR | Обновления столбцов с типами данных SQL_LONGVARBINARY, SQL_LONGVARCHAR или SQL_WLONGVARCHAR (с помощью предложения WHERE), которые влияют на несколько строк, полностью поддерживаются при подключении к экземпляру SQL Server 6. x и более поздних версий. При подключении к экземпляру SQL Server 4.2x возникает ошибка S1000 "Частичная вставка/обновление. Вставка или обновление столбца text или image не завершено», если обновление затрагивает более одной строки. Примечание. Драйвер ODBC SQL Server Native Client поддерживает подключение к SQL Server 6.5 и более ранним версиям. |
Параметры строковых функций | string_exp параметры строковых функций должны иметь тип данных SQL_CHAR или SQL_VARCHAR. Типы данных SQL_LONG_VARCHAR не поддерживаются в строковых функциях. Значение параметра count должно быть меньше или равно 8000, так как SQL_CHAR и SQL_VARCHAR типы данных ограничены максимальной длиной 8000 символов. |
Литералы времени | Литералы времени, хранящиеся в столбце SQL_TIMESTAMP (SQL Server типах данных datetime или smalldatetime), имеют значение даты 1 января 1900 г. |
timestamp | В столбец метки времени можно вручную вставить только значение NULL. Однако поскольку столбцы меток времениавтоматически обновляются SQL Server, значение NULL перезаписывается. |
tinyint | Тип данных SQL Server tinyint не подписан. Столбец tinyint привязан к переменной типа данных, SQL_C_UTINYINT по умолчанию. |
Псевдонимы типов данных | При подключении к экземпляру SQL Server 4.2x драйвер ODBC добавляет значение NULL в определение столбца, которое явно не объявляет допустимость значений NULL для столбца. Поэтому допустимость значений NULL, помещенная в определение псевдонима типа данных, не учитывается. При подключении к экземпляру SQL Server 4.2x столбцы с псевдонимом типа данных с базовым типом данных char или binary и для которых не объявлена допустимость значений NULL, создаются как тип данных varchar или varbinary. SQLColAttribute, SQLColumns и SQLDescribeCol возвращают SQL_VARCHAR или SQL_VARBINARY в качестве типа данных для этих столбцов. Данные, полученные из этих столбцов, не заполнены. Примечание. Драйвер ODBC SQL Server Native Client поддерживает подключение к SQL Server 6.5 и более ранним версиям. |
Типы данных большой длины | Параметры данных при выполнении ограничены как для SQL_LONGVARBINARY, так и для SQL_LONGVARCHAR типов данных. |
Типы больших значений | Драйвер SQL SERVER NATIVE CLIENT ODBC будет предоставлять типы varchar(max), varbinary(max) и nvarchar(max) как SQL_VARCHAR, SQL_VARBINARY и SQL_WVARCHAR (соответственно) в API, которые принимают или возвращают типы данных ODBC SQL. |
Определяемый пользователем тип | Столбцы определяемого пользователем типа преобразуются в тип данных SQL_SS_UDT. Если столбец определяемого пользователем типа явно сопоставлен с другим типом в инструкции SQL с помощью методов ToString() или ToXMLString() определяемого пользователем типа или с помощью функций CAST/CONVERT, то тип столбца в результирующем наборе будет отражать реальный тип, к которому столбец был преобразован. Драйвер ODBC SQL Server Native Client может привязаться только к столбцу определяемого пользователем типа как двоичный. SQL Server поддерживает только преобразование между SQL_SS_UDT и SQL_C_BINARY типами данных. |
XML | SQL Server автоматически преобразует XML в текст Юникода. Тип XML преобразуется в SQL_SS_XML. |
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по