和其他的關系型數據庫一樣, oracle 中也能進行一些隱式的數據轉換,這對我們寫 SQL 語句有 非常 用,我們可以不必麻煩地手動轉化很多類型的字符。雖然前面我們介紹了一些使用例如to_char,to_date的函數進行強制轉換的方法,但是隱式轉換也還是不錯的。 Orac
和其他的關系型數據庫一樣,oracle中也能進行一些隱式的數據轉換,這對我們寫SQL語句有非常用,我們可以不必麻煩地手動轉化很多類型的字符。雖然前面我們介紹了一些使用例如to_char,to_date的函數進行強制轉換的方法,但是隱式轉換也還是不錯的。
Oracle可以隱式地進行一些變量類別之間轉化,例如從字符串轉換到數值,看下面的例子。
SQL> select ename,sal from emp where sal = ‘1100′; ENAME SAL ——————– ———- SMITH 1100 ADAMS 1100
這里用了對員工的工資進行了選擇,我們明知道員工的工資是數值型的,但我們故意把他寫成了字符串型的。結果oracle仍然得到了正確的結果。這說明oracle進行了隱式的從字符串到數值直接的轉換。
再比如下面的例子。
SQL> Select last_day(’26-4月 -08′) from dual; LAST_DAY(’ ———- 30-4月 -08
select sysdate from dual
這條SQL語句返回的結果來查看你的機器到底是什么日期格式。一般這個和NLS_lang參數的值有關
這兩個例子都說明了oracle內部確實能進行某些隱式的函數轉換。下面是oracle中隱式轉換的一般情況。
從 |
到 |
Varchar2 or Char |
Number |
Varchar2 or Char |
Date |
Number |
Varchar2 |
Date |
Varchar2 |
需要注意的就是從Varchar2、char到date的隱式轉換過程中,必須保證其格式是本機的默認時間格式。
除了隱式轉換以外,oracle還提供了更為靈活的數據類型的顯示轉換,這種轉換方式更為靈活。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com