工作中經常遇到客戶提出這樣的需求,希望在彙總合併中,能夠把日期逐個列舉出來。
如圖,原始資料是這樣的:
客戶希望能夠實現這樣的彙總合併:
那麼通常我會使用listagg這個函式,但是好多網上都是系統的全面的介紹listagg這個函式的使用方法,看起來很費力氣。在這裡我簡明扼要的說明一下
實現這個需求的語句是這樣的:
select
name,
listagg
(ddate
,' / '
)
within
group (
order
by
name
) as
ddate
from aa
group
by
name
需要注意的事項如下: 1.
必須得分組,也就是說group by是必須的。 2.
listagg函式的第乙個引數是需要進行列舉的字段,也就是ddate;第二個引數是列舉數值之間的分隔符;同時還需要進行排序和分組within group (order by name)
oracle函式 關於日期
日期常用函式 add months,last day,next day,months between,new time,round 函式用法 add months d,n 時間點d加上n個月 示例 select sysdate,add months sysdate,1 from dual 注 sys...
關於oracle 函式的Deterministic
在建立函式索引的時候,自定義的函式需要加deterministic 確定性函式的效能好處是如果使用相同的輸入呼叫函式兩次,oracle可以記住第乙個呼叫的結果因此避免在第二次執行時再次呼叫。但是該功能直到10g release 2才被真正實施。環境11g 測試1 create or replace ...
關於Oracle取整的函式
關於oracle取整的函式分別有以下幾種 1.取整 大 select ceil 1.001 value from dual 向大的進製 ceil 0.12 02.取整 小 select floor 1.001 value from dual 向小的進製 floor 0.12 13.取整 擷取 sel...