溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle cast函數對用戶數據進行類型轉換

發布時間:2020-10-12 14:35:14 來源:網絡 閱讀:2539 作者:oracle夢想 欄目:關系型數據庫

一、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             

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女