本人不喜歡在sql裡面大小寫混合在一起,每次看到別人的sql,總是要轉換為小寫,如以下sql:
with t as
( select date'2014-05-06' time1, 1 type, 100 times from dual union all
select date'2014-05-06', 2, 200 from dual union all
select date'2014-05-06', 3, 400 from dual union all
select date'2014-05-07', 2, 50 from dual union all
select date'2013-06-01', 1, 100 from dual)
select time2, sum(nvl(times, 0))
from (select *
from (select date '2014-05-01' + level - 1 time2
from dual
connect by level <=
(select to_char(last_day(date '2014-05-01'), 'dd')
from dual)) t1
left join t
on t1.time2 = t.time1)
group by time2
order by 1;
最簡單的方法是使用lower函式,執行把原sql貼上進去就可以了,不需要額外操作:
select lower(q'[&1]') from dual
如下所示:
全文完。
SQL應用之查詢根節點
mssql提供了cte遞迴取資料的方法,但是沒有直接提供乙個給定任意節點查詢其根節點的方法 也是ms sql 2008之後的版本有我不知道 此外,如果資料庫提供的資料出現死循時,如果沒有相應的檢測機制,必然導致資料庫伺服器資源耗盡。因此查詢根節點的sql片斷 或儲存過程 也是相當有用的。declar...
Oracle高階應用之合併MERGE
為了方便大家學習和測試,所有的例子都是在oracle自帶使用者scott下建立的。merge是什麼?這麼厲害的東西你都不知道,你這學生是怎麼學習的?老師不給你講你就不會自學了嗎?哎!可憐天下老師心啊,罷了罷了,老師現在給你好好講一下吧。merge是oracle9i新增的語法,中文意思是 合併 那合併...
oracle應用之使用sequence批量寫資料
本部落格是對之前寫的部落格oracle批量新增更新資料的補充,oracle的知識真是多,其實要學精任何一門知識都是要花大量時間的,正所謂 學如逆水行舟,不進則退 先介紹oracle sequence的一些知識,sequence顧名思義,就是建立乙個序列,這個序列沒調一次就會自動加,利用它這個特性,我...