資料類型使用方式
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
SQL Server Native Client ODBC 驅動程式和 SQL Server 會強制使用下列數據類型。
資料類型 | 限制 |
---|---|
日期常值 | 日期常值,儲存在SQL_TYPE_TIMESTAMP數據行中時(datetime 或 smalldatetime 的 SQL Server 數據類型),時間值為 12:00:00.000 A.M。 |
money 和 smallmoney | 只有 money 和 smallmoney 數據類型的整數部分很重要。 如果在數據類型轉換期間截斷 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數據行中時(datetime 或 smalldatetime 的 SQL 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 實例時,具有具有 char 或 binary 基底數據類型且未宣告可為 Null 之數據類型的數據行會建立為數據類型 varchar 或 varbinary。 SQLColAttribute、 SQLColumns 和 SQLDescribeCol 會傳回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。 |
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應