1語法
greatest(expr_1, expr_2, ...expr_n)
2說明greatest(expr_1, expr_2, ...expr_n)
函式從表示式(列、常量、計算值)
expr_1, expr_2, ... expr_n
等中找出最大的數返回。在比較時。
oracie
會自己主動按表示式的資料型別進行比較,以
expr_1
的資料型別為準。
3同意使用的位置
過程性語句和
sql語句。
4演示樣例
4.1演示樣例一【數值】
expr_1
為數值型。
按大小進行比較。
所有為數值型。取出最大值為16:
sql>select greatest(2, 5, 12, 3, 16, 8, 9) a from dual;
a ----------
16 部分為數值型,可是字串能夠依據
expr_1
的資料型別
通過隱式型別轉換轉成數值型:
sql>select greatest(2, '5', 12, 3, 16, 8, 9) a from dual;
a ----------
16 部分為數值型,可是字串不能通過隱式型別轉換成數值型會報錯,由於字串
a不能轉換成數值型:
sql>select greatest(2, 'a', 12, 3, 16, 8, 9) a from dual;
selectgreatest(2, 'a', 12, 3, 16, 8, 9) a from dual
ora-01722:
無效數字
4.2演示樣例二【字串】
expr_1
為字元型。
按首字母進行比較(假設相等則向下比較)
所有為字元型,取出最大值g:
sql> select greatest('a', 'b', 'c', 'd', 'e', 'f','g') a from dual;
a -
g 所有為字元型,首字母相等:
sql> select greatest('a', 'b', 'c', 'd', 'e','ga', 'gab') a from dual;
a ---
gab
部分為字元型,會把非字元型轉換成字元型:
sql> select greatest('a', 6, 7, 5000, 'e', 'f','g') a from dual;
a -
g 4.3
演示樣例三【時間】
expr_1
為時間型別。
所有為時間型別:
sql> selectgreatest(sysdate,to_date('2014-08-01','yyyy-mm-dd')) a from dual;
a -----------
2014/8/1
部分為時間型別,不能進行隱式型別轉換:
sql> select greatest(sysdate,'2014-08-01') a fromdual;
selectgreatest(sysdate,'2014-08-01') a from dual
ora-01861:
文字與格式字串不匹配
4.4演示樣例四【空值】
使用greatest取最大值的時候,當
expr
為函式的時候,不可避免的會產生空值。
產生空值。函式greatest
會怎麼進行處理那:
expr_1
為null時:
sql> select greatest(null, 'b', 'c', 'd', 'e','ga', 'gab') a from dual;
a -
expr_1
不為null時,其他的expr為null時:
sql> select greatest('a', 'b', 'c', 'd', 'e',null, 'gab') a from dual;
a -
由上能夠發現,僅僅要
greatest
的expr有乙個為null,都會返回null。
oracle 關閉audit 功能
oracle 11g預設安裝資料庫啟動了audit功能,導致oracle不斷累積sys.aud 表及相關索引資料量增加 如果導致表空間滿了,在alert日誌中將會報ora 1654 unable to extend index sys.錯誤。如果不用到審計功能,建議關閉審計。處理過程 1 用orac...
Oracle 閃回功能
檢視閃回功能是否開啟 sql select flashback on from v database flashback on yes 開啟閃回功能 確保資料庫處於歸檔模式 sql shutdown immediate sql startup mount sql alter database arc...
轉oracle查詢功能
查詢所有表名 select t.table name from user tables t 查詢所有欄位名 select t.column name from user col comments t 查詢指定表的所有欄位名 select t.column name from user col com...