在資料庫中建立資料表時,供建立資料表的 SQL 陳述式會為資料表中各欄定義相似性或資料類型。雖然相似性宣告可以省略,但是在
CREATE TABLE
SQL 陳述式中明確地宣告欄相似性會是比較適當的做法。
原則上,您使用
INSERT
陳述式儲存在資料庫中的任何物件,會在執行
SELECT
陳述式時傳回,做為相同資料類型的實體。但是,依儲存值之資料庫欄的相似性而定,已擷取值的資料類型可能會不同。當值儲存在欄中時,如果其資料類型與欄相似性不相符,資料庫會嘗試轉換值以符合欄相似性。例如,如果資料庫欄使用
NUMERIC
相似性宣告,資料庫會嘗試將插入的資料轉換成數值儲存類別 (
INTEGER
或
REAL
),再儲存資料。如果無法轉換資料,資料庫會擲回錯誤。根據這項規則,如果將 String「12345」插入
NUMERIC
欄,資料庫會自動將它轉換成整數值 12345,再將它存入資料庫。當它是以
SELECT
陳述式擷取時,會傳回值,做為數值資料類型 (例如 Number) 的實體,而不是 String 實體。
若要避免不想要的資料類型轉換的最佳方式,請遵循以下兩個規則:首先,使用相似性定義各欄,該相似性要與它預定要儲存的資料類型相符。然後,只插入其資料類型符合已定義相似性的值。遵循這兩個規則提可提供兩項優點:當您插入資料時,它不會以非預期方式進行轉換 (可能會因此遺失其原先的意義)。此外,當您擷取資料時,它會以其原始資料類型傳回。
如需可用欄相似性類型以及在 SQL 陳述式中使用資料類型的詳細資訊,請參閱
資料類型支援
。
|
|
|