platform:
os:windows server 2012 r2 64bit
oracle:11.2 64bit
引子:
醫院審計進入實質性階段,在對耗材使用表與耗材採購表進行inner join時發現,耗材使用表中的item_name欄位開頭有部份含有w的標識(這主要是院方用於對物品是否收費管理的標誌),因此在連線的時候只匹配除去w的其他字元內容。在這裡使用到了decode函式。
select item_code,
item_name,
**數量 ,
**總額 ,
**單價 ,
b.* ,
case
when b.採購價 < 250
then b.採購價 * 1.1
when b.採購價 between 250
and499
then b.採購價 + 25
when b.採購價 between 500
and4999
then b.採購價 * 1.05
when b.採購價 >= 500
then b.採購價 + 250
end"標準售價" ,
round ((**數量 - 入庫總量)/入庫總量,2) "超入庫量比值",
**單價 - (case
when b.採購價 < 250
then b.採購價 * 1.1
when b.採購價 between 250
and499
then b.採購價 + 25
when b.採購價 between 500
and4999
then b.採購價 * 1.05
when b.採購價 >= 500
then b.採購價 + 250
end) "超單價收費"
from ( select item_code ,
item_name ,
sum (實收數量) "**數量",
sum (實收金額) "**總額",
sum (實收金額)/sum (實收數量) "**單價"
from audi_intermediate_exp_use2
group
by item_code ,
item_name) a
inner
join (select 產品通用名,
採購價 ,
sum (採購總量) "採購總量",
sum (入庫總量) "入庫總量",
sum (採購總額) "採購總額",
sum (入庫總額) "入庫總額"
from audi_highexpendable_purchase
group
by 產品通用名,
採購價) b
on (decode (upper (substr (a.item_name, 1, 1)), --1
'w', substr (a.item_name, 2, length (a.item_name)),
a.item_name)) = b.產品通用名;
1.decode的使用。
end
查詢mysql欄位中固定字串並替換的幾個方法
我們的要求是,把位址欄位的中國去掉,並跟據位址欄位來設定所屬省份的 province id 字段。第一 替找字串,我們可以用mysql裡的replace 這個用法,本博也有提到。詳見 好我們把 中國 這個字元給去掉。update www.cppcns.comtable set 程式設計客棧addre...
LINQ解決根據某個欄位去重
想要list結果重複 的資料很簡單,只要.dinstinct 就好了 但是如果想要根據某個字段去除重複的資料,上面的方法就幫不上忙了,我們需要重寫乙個方法,直接上例子吧 serializable public class homepageusermodel public string titleus...
解決IE相容模式問題 使IE使用固定的渲染模式
ie瀏覽器從ie8開始新增了相容模式,開啟後會以低版本的ie進行渲染。相容模式有可能會導致網頁顯示出問題,於是我們通常在html中新增下列 來使 ie 使用固定的渲染模式 將 設定成html5的模式,那麼使用者開啟專案之後,文件模式就是標準的 即不會是ie5qurik模式 但有可能是ie7標準模式 ...