Share via


資料類型轉換

在下列四種情況下,資料可以轉換成另一種類型:當資料從一個應用程式變數傳輸到另一個 (C 到 C) 時、當應用程式變數中的資料傳送到陳述式參數 (C 到 SQL) 時、當結果集資料行中的資料在應用程式變數中傳回 (SQL 到 C) 時、當資料從某個資料來源的資料行傳輸到另一個資料來源資料行 (SQL 到 SQL) 時。

將資料從一個應用程式變數傳輸到另一個應用程式變數時所發生的任何轉換,都不在本文件討論的範圍內。

當應用程式將變數繫結到結果集資料行或陳述式參數時,應用程式會在選擇的應用程式變數資料類型中,隱含指定資料類型轉換。 例如,假設資料行包含了整數資料。 如果應用程式將整數變數繫結到資料行,會指定不執行任何轉換;如果應用程式將字元變數繫結到資料行,則會指定將資料從整數轉換成字元。

ODBC 會定義如何在每個 SQL 和 C 資料類型之間轉換資料。 基本上,ODBC 支援所有合理的轉換,例如字元到整數、整數到浮點數,但不支援定義不正確的轉換,例如浮點數到日期。 驅動程式則必須支援自身所支援的各 SQL 資料類型的所有轉換。 如需 SQL 和 C 資料類型之間轉換的完整清單,請參閱附錄 D:資料類型中的將資料從 SQL 轉換成 C 資料類型,以及將資料從 C 轉換成 SQL 資料類型

ODBC 也會定義純量函式,以便將資料從一個 SQL 資料類型轉換成另一個資料類型。 CONVERT 純量函式是由驅動程式對應到基礎純量函式,或經過定義以在資料來源中執行轉換的函式。 由於此函式會對應到 DBMS 特定函式,因此 ODBC 不會定義這些轉換的運作方式或必須支援的轉換。 應用程式會透過 SQLGetInfo 中的 SQL_CONVERT 選項,探索特定驅動程式和資料來源可支援的轉換。 如需有關 CONVERT 純量函式的詳細資訊,請參閱 ODBC 中的逸出序列明確資料類型轉換函式