iT邦幫忙

0

鼎新BI語意層 篩選器- 抓全年度

  • 分享至 

  • xImage

ORACLE 資料庫,好怪 都會少資料

不知我的SQL語法那個判斷有問題,請IT大大們幫個忙謝謝。

BI會在次月的2日派送全年度的報表,
但若遇到1月份時,是要上年度的報表,
若非1月份則是當年度的報表。

以下是我下的語法

@Select(時間\出貨時間\出貨日期) between 
Concat(Concat(case To_char(sysdate,'mm') when '01'  then To_char(add_months(sysdate,-12),'yyyymm') 
else To_char(sysdate,'yyyy') end,'01'),'01')
AND
Concat(Concat(case To_char(sysdate,'mm') when '01'  then To_char(add_months(sysdate,-1),'yyyymm') 
else To_char(sysdate,'yyyy') end,'12'),'31')
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
Albert
iT邦高手 1 級 ‧ 2016-01-23 22:03:12
最佳解答

@Select(時間\出貨時間\出貨日期) between
Concat(Concat(
case To_char(sysdate,'mm') when '01'
then To_char(add_months(sysdate,-12),'yyyymm') <取六碼>
else To_char(sysdate,'yyyy') <取四碼>
end,
'01'),'01')
AND
Concat(Concat(
case To_char(sysdate,'mm') when '01'
then To_char(add_months(sysdate,-1),'yyyymm')
else To_char(sysdate,'yyyy') end,'12'),'31')

真不簡單不是用日期格式
這樣轉文字一定會出錯
To_char(add_months(sysdate,-12),'yyyymm')
<取六碼> ||'0101'
這樣對嗎 ?

pp73793 iT邦新手 4 級 ‧ 2016-01-29 15:08:31 檢舉

不知,鼎新的bi認的了這段語法嗎?

pp73793 iT邦新手 4 級 ‧ 2016-01-29 16:00:40 檢舉

試一下 OK,可以用 感謝大大

我要發表回答

立即登入回答