資料類型使用方式
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)
SQL Server Native Client ODBC 驅動程式和SQL Server會強制使用下列資料類型。
資料類型 | 限制 |
---|---|
日期常值 | 日期常值儲存在SQL_TYPE_TIMESTAMP資料行 (SQL Server datetime或Smalldatetime) 資料類型時,時間值為 12:00: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 Server 6 實例時, ( (具有SQL_LONGVARBINARY、SQL_LONGVARCHAR或SQL_WLONGVARCHAR資料類型的資料行更新) 會完全支援影響多個資料列的資料行。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 個字元。 |
時間常值 | 時間常值,儲存在datetime或Smalldatetime) 資料類型 (SQL Server SQL_TIMESTAMP資料行時,日期值為 1900 年 1 月 1 日。 |
timestamp | 只有 Null 值可以手動插入 時間戳記 資料行。 不過,因為時間戳記資料行會由SQL Server自動更新,所以會覆寫 Null 值。 |
tinyint | SQL Server Tinyint資料類型為 unsigned。 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 (max) 和Nvarchar (max) SQL_WVARCHAR (SQL_VARBINARY SQL_VARCHAR 類型。 |
使用者定義型別 (UDT) | UDT 資料行會對應為 SQL_SS_UDT。 如果 UDT 資料行使用 UDT 的 ToString() 或 ToXMLString() 方法或是透過 CAST/CONVERT 函數而明確地對應到 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應