資料可以在四種時間之一轉換成另一種類型:當資料從一個應用程式變數轉移到另一個(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 中的 Escape 序列 與 顯式資料型別轉換函數。