Oracle DB 隱式和顯式資料型別轉換

2021-06-29 00:29:20 字數 1276 閱讀 8583

除了 oracle 資料型別,還可以使用美國國家標準協會(ansi) 、db2 和sql/ds 資料型別

定義oracle db 中表的列。但是,oracle server 會在內部將這些資料型別轉換為oracle 

資料型別。

在某些情況下,oracle server 會收到資料型別與預期的資料型別不同的資料。發生這種情

況時,oracle server 可自動將該資料轉換為預期的資料型別。這種資料型別轉換可以由

oracle server 隱式完成,也可以由使用者顯式完成。

隱式資料型別轉換將按照下面說明的規則進行。

顯式資料型別轉換可通過使用轉換函式來執行。轉換函式用於將一種資料型別的值轉換為

另一種資料型別的值。

通常,函式名稱的格式遵循data type to data type慣例。

第乙個資料型別是輸入資料型別,第二個資料型別是輸出資料型別。

注:儘管可以使用隱式資料型別轉換,但仍建議執行顯式資料型別轉換以確保 sql 語

句的可靠性。

表示式中,oracle server 可以自動執行以下轉換:

從 varchar2 或char隱式轉換為

number

從varchar2 或char隱式轉換為

date

oracle server 可以在表示式中自動執行資料型別轉換。例如,表示式hire_date > 

'01-jan-90' 將導致字串'01-jan-90' 隱式轉換為乙個日期。因此,表示式中的

varchar2 或char 值可以隱式轉換為數字或日期資料型別。 對於

表示式計算,oracle server 可以自動執行以下轉換:

從number

隱式轉換為

varchar2 或char

從date

隱式轉換為

varchar2 或char

通常,oracle server 在需要進行資料型別轉換時使用適用於表示式的規則。例如,表示式

grade = 2 將導致數字2 隱式轉換為字串「2」,因為grade 為char(2)列。

注:只有字串代表乙個有效數字時,char 到number 的轉換才能成功。

mysql顯式和隱式效率 顯式與隱式SQL連線

顯式和隱式內部聯接是否存在效率差異?例如 select from table a inner join table b on a.id b.id 與select a.b.from table a,table b where a.id b.id 在mysql 5.1.51上,兩個查詢的執行計畫相同 m...

顯式Intent和隱式Intent

size medium size medium 2011 09 12 09 35 顯式intent和隱式intent區別 android當中顯式intent和隱式intent的區別 定義 intent定義 intent是一種在不同元件之間傳遞的請求訊息,是應用程式發出的請求和意圖。作為乙個完整的訊息...

mysql 隱式和顯式鎖定

innodb採用兩階段鎖定協議,在事務執行過程中,隨時都可以執行鎖定,鎖只有在執行commit或rollback的時候才會釋放,並且所有的鎖是在同一時刻被釋放的,前面所述的鎖定是隱式鎖定,innodb會根據事務的隔離級別在需要的時候自動加鎖。select lock in share mode sel...