共用方式為


資料類型使用方式

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server Native Client ODBC 驅動程式和 SQL Server 會強制使用下列數據類型。

資料類型 限制
日期常值 日期常值,儲存在SQL_TYPE_TIMESTAMP數據行中時(datetimesmalldatetimeSQL Server 數據類型),時間值為 12:00:00.000 A.M。
moneysmallmoney 只有 moneysmallmoney 數據類型的整數部分很重要。 如果在數據類型轉換期間截斷 SQL money 數據的十進位部分,SQL Server Native Client ODBC 驅動程式會傳回警告,而不是錯誤。
SQL_BINARY (可為 Null) 連接到 SQL Server 6.0 版和更早版本的實例時,如果SQL_BINARY數據行可為 Null,則儲存在數據源中的數據不會以零填補。 從這類數據行擷取數據時,SQL Server Native Client ODBC 驅動程式會在右側加上零。 不過,在 SQL Server 所執行的作業中建立的數據,例如串連,沒有這類填補。

此外,當數據放在 SQL Server 6.0 或更早版本實例的這類數據行時,如果數據太長而無法放入數據行,SQL Server 就會截斷右邊的數據。

注意:SQL Server Native Client ODBC 驅動程式支援連線到 SQL Server 6.5 和更早版本。
SQL_CHAR (截斷) 當連接到 SQL Server 6.0 和更早版本的實例,且數據會放入SQL_CHAR數據行中時,如果數據太長而無法放入數據行,SQL Server 會在右側截斷它,而不會發出警告。

注意:SQL Server Native Client ODBC 驅動程式支援連線到 SQL Server 6.5 和更早版本。
SQL_CHAR (可為 null) 連接到 SQL Server 6.0 和更早版本的實例時,如果SQL_CHAR數據行可為 Null,則儲存在數據源中的數據不會填補空白。 從這類數據行擷取數據時,SQL Server Native Client ODBC 驅動程式會在右側以空白填補它。 不過,在 SQL Server 所執行的作業中建立的數據,例如串連,沒有這類填補。

注意:SQL Server Native Client ODBC 驅動程式支援連線到 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 錯誤「部分插入/更新」。 如果更新影響一個以上的數據列,就會傳回文字或影像數據行的插入/更新。

注意:SQL Server Native Client ODBC 驅動程式支援連線到 SQL Server 6.5 和更早版本。
字串函式參數 字串函式string_exp參數必須是數據類型SQL_CHAR或SQL_VARCHAR。 字串函式不支援SQL_LONG_VARCHAR數據類型。 count 參數必須小於或等於 8,000,因為SQL_CHAR和SQL_VARCHAR數據類型的長度上限為 8,000 個字元。
時間常值 時間常值,儲存在SQL_TIMESTAMP數據行中時(datetimesmalldatetimeSQL Server 數據類型),日期值為 1900 年 1 月 1 日。
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 實例時,具有具有 charbinary 基底數據類型且未宣告可為 Null 之數據類型的數據行會建立為數據類型 varcharvarbinarySQLColAttributeSQLColumnsSQLDescribeCol 會傳回SQL_VARCHAR或SQL_VARBINARY做為這些數據行的數據類型。 從這些數據行擷取的數據不會填補。

注意:SQL Server Native Client ODBC 驅動程式支援連線到 SQL Server 6.5 和更早版本。
LONG 數據類型 SQL_LONGVARBINARY和SQL_LONGVARCHAR數據類型的數據執行 參數都受到限制。
大型實值型別 SQL Server Native Client ODBC 驅動程式會在接受或傳回 ODBC SQL 數據類型的 API 中,將 varchar(max)varbinary(max)nvarchar(max) 類型公開為SQL_VARCHAR、SQL_VARBINARY和SQL_WVARCHAR。
使用者定義型別 (UDT) UDT 數據行會對應為SQL_SS_UDT。 如果使用 UDT 的 ToString() 或 ToXMLString() 方法,或透過 CAST/CONVERT 函式,明確將 UDT 數據行對應至 SQL 語句中的另一個類型,則結果集中數據行的類型會反映數據行轉換的目標實際類型。

SQL Server Native Client ODBC 驅動程式只能繫結至 UDT 數據行做為二進位檔。 SQL Server 僅支援SQL_SS_UDT與SQL_C_BINARY數據類型之間的轉換。
XML SQL Server 會自動將 XML 轉換成 Unicode 文字。 XML 類型會對應為SQL_SS_XML。

另請參閱

處理結果 (ODBC)