在執行時期,特定資料類型組合會發生表示式結果的隱含轉換。
例如,如果整數表示式是指定為 Float 類型之資料欄位的起始值,則會發生隱含的轉換。 請注意,在表示式內,不會有字串值到時間值的隱含轉換;您必須使用 convert 函數或 stringtotime 函數,才能將字串值明確轉換成時間值。
在複式表示式內,發生隱含的轉換會使引數的資料類型符合運算子或函數的需求。 例如,substr 函數會對開始位置和長度引數使用整數值。 如果您指定浮點值 2.5 和 1.0 作為那些引數,它們會在評估表示式之前隱含地轉換成整數值 2 和 1。
在執行時期,下列資料類型組合會發生隱含的轉換:
浮點數字小數點右邊的所有數字會被截斷。 例如,如果您指定 123.4567 作為某整數資料欄位的起始值,當起始設定時,該資料欄位的值會設為 123。
小數點和 0 將附加到整數最後一位數字之後。
在同時包含浮點和整數值的複式表示式內,如果運算子需要相同資料類型的值,便會發生隱含的轉換。 在此情況下,整數值會在評估表示式之前轉換成浮點資料類型。 例如,如果您指定 1.5 + 2,則 2 會轉換成 2.0。