Oracle cast函數對使用者資料進行類型轉換

來源:互聯網
上載者:User

標籤:oracle   cast函數   

一、cast函數

    cast函數的作用是對使用者輸入的資料進行資料類型轉換,比如使用者資料的資料時number類型,小數位元是3位,我們可以將使用者資料轉換成整形資料int類型。


    cast函數的格式是cast(資料來源 as 待轉換的資料類型)

    比如我需要將number資料類型的13.658轉換成int類型的整數類型

 

    SQL> select cast(13.658 as int) from dual;

     

                          CAST(13.658ASINT)

    ---------------------------------------

                                         14

    通過我們可以看見,cast對number資料類型的資料進行四捨五入操作後儲存成整形資料;

    上面的效果類似於round函數。

    但是cast函數作用的結果並不作用於資料庫表結構,僅僅使用者資料顯示。舉例如下:

    --info表的資料記錄如下:

    SQL> select * from info;

     

                                        SNO SNAME

    --------------------------------------- --------------------

                                          1 lilei

                                          2 dushuai

                                          3 caolirong

    --info表欄位結構

    desc info    

    Name Type      Nullable Default Comments 

    ----- ------------ -------- ------- -------- 

    SNO INTEGER                           

    SNAME VARCHAR2(20) Y               

    --我們使用cast函數對sno欄位進行資料類型轉換,轉換成number(8,4)

    SQL> select cast(sno as number(8,4)) from info;

     

    CAST(SNOASNUMBER(8,4))

    ----------------------

                    1.0000

                    2.0000

                    3.0000

    --但是重新尋找info表,結果如下

    SQL> select * from info;

     

                                        SNO SNAME

    --------------------------------------- --------------------

                                          1 lilei

                                          2 dushuai

                                          3 caolirong

    --使用update函數進行info表更新

    SQL> update info set sno=cast(sno as number(3,2)) where sno=1;

     

    1 row updated

    SQL> commit;

    --重新尋找info表,結果如下

    SQL> select * from info;

     

                                        SNO SNAME

    --------------------------------------- --------------------

                                          1 lilei

                                          2 dushuai

                                          3 caolirong

如果想利用cast函數實現資料類型的轉換,可以考慮在基表的基礎上建立視圖或者建立另外一張表的方式。下例為在基表的基礎上建立視圖進而實現改變資料類型的目的:

    SQL> create or replace view v_info as select cast(sno as number(3,2)) as v_sno from info;

     

    View created

     

    SQL> select * from v_info;

     

    V_SNO

    -----

     1.00

     2.00

     3.00

 

    SQL> desc v_info;

    Name Type     Nullable Default Comments 

    ----- ----------- -------- ------- -------- 

    V_SNO NUMBER(3,2) Y                        

     

    SQL> desc info

    Name Type      Nullable Default Comments 

    ----- ------------ -------- ------- -------- 

    SNO INTEGER                           

    SNAME VARCHAR2(20) Y             

    

本文出自 “oralce學習之路” 部落格,請務必保留此出處http://dushuai.blog.51cto.com/9461011/1568249

Oracle cast函數對使用者資料進行類型轉換

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.