http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions069.htm#i77473
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions087.htm#i77700
這兩個函數是是一對相反的函數,語法分別為:
他們都通過第一個expr的字符類型確定返回值的數據類型。如果第一個表達式是數值型的,則根據數值優先的原則,函數會隱式的將后續的表達是轉換為數值類型。
范例:
SQL> select least('china','england','american','russia') country from dual; COUNTRY ------------------------ american SQL> select greatest('china','england','american','russia') country from dual; COUNTRY ------------------ russia
SQL> select least(1,'england','russia') country from dual; select least(1,'england','russia') country from dual * ERROR at line 1: ORA-01722: invalid number
報錯出現,說明當我指定數值類型時,后續的表達式都被轉化為數值型了
SQL> select least(1,3.14159,0.1415926) country from dual; COUNTRY ---------- .1415926 SQL> select greatest(1,3.14159,0.1415926) country from dual; COUNTRY ---------- 3.14159
SQL> select least('china','england',2,1) country from dual;
COU
---
1
這里可以看到這里后續的數值被轉化為字符類型了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。