oracle學習總結(1)

2021-06-11 15:52:15 字數 1342 閱讀 5922

進入新的專案組,一直在做資料庫開發測試這塊的東東。下面就是分享一下我自己工作中遇到的一些問題吧。沒有什麼系統性,寫的比較散,不喜勿噴啊!!

1.數字格式的一些問題

我在工作過程中遇到了各種各樣的資料要求格式問題

1)小數末尾『0』不展示。

我使用的是rtrim函式

select rtrim(to_char(0.45550000,'0.9999999999'),'o') from dual;

2)對於0.***的小數不展示小數點前的『0』

select to_char(0.25360,'.99999') from dual;

ps:如果此時既不想展示前面的0也不想展示後面的0那麼

select rtrim(0.25360,'0') from dual;

但這時會出現一種情況如果查詢的是0,經過處理後就變成null了

3)科學計數法的使用

select  to_char(0.555555555555,9.999eeee) from dual;

eeee前面的9個數不一樣,顯示的結果也不一樣哦,自己試試啊。

4)顯示為百分數形式

select  to_char(round(0.3253665,4) *100,'990.99')||'%' from dual;

2.時間的一些計算問題

求乙個月所在的季度問題,以及資料的查詢時間的起始和終止時間,即 查詢粒度問題

季度開始時間

select substr($begintime, 1, 4) ||

lpad(ceil(to_number(substr($begintime, 5, 2) ) / 3 - 1) * 3 + 1,

2,0) 

from dual

自己在使用的時候注意先試試看,有可能會需要涉及一些時間轉換的問題。

終止時間()

select to_char(add_months(to_date(substr($endtime, 1, 4) ||

lpad(ceil(to_number(substr($endtime,

5,2)) / 3) * 3,

2,0),

'yyyymm'),1),

'yyyymmdd')

from dual

--查詢出的結果應該是下乙個季度的第一天,這個語句應該是有錯誤的,主要是函式的轉換這塊。

時間的加減問題

天數的加減

直接在時間後面直接 「+ number」 就可以了

小時的加減

在時間後面 「+number/24」

分鐘+number/60/24

月加減  直接函式搞定

add_minths

oracle學習總結1

1 解鎖使用者 alter user 使用者名稱 account unlock 2 獲取系統時間 隨機數 select sysdate,sys guid from dual 3 起別名,使可讀性更強,如果想保留字段原來模樣,可以 使用雙引號括起來 select ename,salary 12 fro...

oracle學習總結

一 定位 oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫儲存過程 觸發器什麼的,還有就是用oracle的develop工具做form。有點類似於程式設計師,需要有較強的邏輯思維和創造能力,個人覺得會比較辛苦,是青春飯j 管理則需要對oracle資料庫的原理有深刻的認識,有全域性操縱的能...

Oracle 學習總結

在家耽誤了一年,重新上班才發現,以前好多順手牽來的 都變的模糊了,所以隨時做好筆記很重要。1 1 檢視表的comment select from user tab comments where table name tj dtjczbtj 2 檢視當前使用者所有表的comment select fr...