1. 程式人生 > >ORACLE函式之GREATEST函式詳解例項

ORACLE函式之GREATEST函式詳解例項

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-G4.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 DUALORA-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函式GREATEST函式例項

1語法GREATEST(expr_1, expr_2, ...expr_n)2說明GREATEST(expr_1, expr_2, ...expr_n)函式從表示式(列、常量、計算值)expr_1, e

linux中alarm函式和pause函式例項

轉載原文:https://www.cnblogs.com/yxk529188712/p/4982401.html alarm(time);執行之後告訴核心,讓核心在time秒時間之後向該程序傳送一個定時訊號,然後該程序捕獲該訊號並處理; pause()函式使該程序暫停讓出CPU,但是該函式的暫停

Python零基礎入門函式的修飾器

內嵌函式 要理解修飾器,首先要知道python的內嵌函式。 在函式內部可以建立另外一個函式,不過內部函式也只能在外部函式的作用域之內呼叫才有效。 如果內部函式定義中包含了外部函式定義的物件的引用,內部函式會被稱為閉包 私信小編007即可獲取小編精心準備的大禮包一份哦!

Oracle內部函式呼叫追蹤器

基於以前開發的一個用於監控執行緒的CPU使用狀況的小工具,TopShow,我開發了一個用於追蹤Oracle內部函式呼叫的追蹤器——OraTracer. 你可以用該工具追蹤監控Oracle多個內部函式的呼叫情況,還可以嘗試探測函式的輸入引數的值,也可以列印追蹤點被觸發時的呼叫

Excel資料分析與業務建模_第四章_匹配函式MATCH(語法及應用例項

如果有一天,EXCEL中沒有了LOOKUP函式,怎麼辦?答案是就靠MATCH和INDEX兩兄弟了。 MATCH函式可返回指定區域內指定內容所在的行號(縱向區域)或列號(橫向區域)。 Suppose you have a worksheet with 5,000 rows c

oracle合併列的函式wm_concat的使用

oracle wm_concat(column)函式實現欄位合併例: 表 create table pm_ci (ci_id varchar(20) primary key, stu_ids

hivePython UDF函式操作map資料 全是乾貨

#1、Hive基本操作: 檢視dw.full_h_usr_base_user的詳細資訊,可以獲取資料檔案的存放路徑 desc formatted dw.full_h_usr_base_user

c++ 標準模板庫 STL 演算法 for_each 函式的使用用法

std::for_each template <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Functi

ORACLE 內建函式 GREATEST 和 LEAST(求多列的最大值,最小值)

轉載自:http://dlblog.iteye.com/blog/1274005 Oracle比較一列的最大值或者最小值,我們會不假思索地用MAX和MIN函式,但是對於比較一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有內建函式實現這個功能:COALESCE / GREATES

Oracle數據庫體系結構,基本操作管理及客戶端遠程連接

plus down 緩沖區 擴展名 應用 提交 normal 系統 等待 上一篇文章《Oracle Database 12c安裝》講解了如何安裝oracle數據庫,這篇文章繼續講解數據庫的體系結構,基本操作管理及客戶端遠程連接Oracle的體系結構 Oracle數據庫由兩部

函式的呼叫過程———棧幀的建立和銷燬

●回顧內容: 函式的定義:函式是一個程式中的部分程式碼,由一個或多個語句組成,它的功能是實現某些特定的任務。函式相對於其他程式碼來說具備相對的獨立性。 函式的呼叫:在某個函式內部,使用另一個函式來完成相關的任務,這個過程叫做函式呼叫。 那麼函式是如何呼叫的呢?分析一段簡單的程式碼:

Oracle基礎分析函式:佔比計算

下面給大家介紹一個oracle自帶的分析函式ratio_to_report(佔比函式),這個函式作用:簡單來說就是算百分比的。 比如學生成績表中,包含科目和成績,要計算不同科目分數佔比,已經所有科目的分數佔比 進入正題,直接上程式碼,如下: ---刪除表 drop table test001; -

kerasImageDataGenerator引數及用法例項-01

keras圖片生成器ImageDataGenerator keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,     samplewise_center=False,   &nbs

初夏小談:函式 strchr 和 strcmp

實現和strchr(查詢字元首次出現的位置) #include<Aventador_SQ.h> int Strchr(char arr[], char Char,int* location) { int i = 0; int ArrLen = strlen(arr); int

JavaScript函式(內建函式),變數

JavaScript函式(內建函式),變數詳解                                   &nb

C++ 函式指標及其作用

查了很多資料,對函式指標已瞭解。 函式指標指向某種特定型別,函式的型別由其引數及返回型別共同決定,與函式名無關。舉例如下: int add(int nLeft,int nRight);//函式定義    該函式型別為int(

C++中virtual(虛擬函式)的用法

在面向物件的C++語言中,虛擬函式(virtual function)是一個非常重要的概念。因為它充分體現了面向物件思想中的繼承和多型性這兩大特性,在C++語言裡應用極廣。比如在微軟的MFC類庫中,你會發現很多函式都有virtual關鍵字,也就是說,它們都是虛擬函式。難怪有人甚至稱虛擬函

資料庫日期運算函式及Type值

資料庫日期運算函式及Type的期望值 函式DATE_ADD()和DATE_SUB() 前言: 在MySQL資料庫中,我們經常使用日期函式,基本上建立一個數據庫(非測試),我們對日期的使用都是必不可少的,下面我就說一下MySQL資料庫中的日期運算函式以及函式中的Type

函式呼叫實現過程(棧空間解析)

轉自:函式呼叫棧 剖析+圖解   棧: 在函式呼叫時,第一個進棧的是主函式中函式呼叫後的下一條指令(函式呼叫語句的下一條可執行語句)的地址,然後是函式的各個引數,在大多數的C編譯器中,引數是由右往左入棧的,然後是函式中的區域性變數。注意靜態變數是不入棧的。 當本次函式

python函式呼叫順序、高階函式、巢狀函式、閉包

  一:函式呼叫順序:其他高階語言類似,Python 不允許在函式未宣告之前,對其進行引用或者呼叫錯誤示範: def foo(): print 'in the foo' bar() foo() 報錯: in the foo Traceback (most re