Webクリエイティブ集団、アイレット株式会社の代表取締役が綴る
Web制作・開発の気になる最新技術レビュー。  RSS Feeds
スカウター : [iret-ceo] アイレット株式会社CEOブログ
ラベル oracle の投稿を表示しています。 すべての投稿を表示
ラベル oracle の投稿を表示しています。 すべての投稿を表示

2009年2月25日水曜日

Oracle array

とうとう見つけた!!
OracleでPostgresqlでいうArray。これやばいっす!
関数![wmsys.wm_concat]
これを使うとなんと、GroupByしたときにデータが配列で返ってくる!

test_tbl
code | data | data2
aaa | bbb | ccc
aaa | bbb | ccc2

select
code,
data,
wmsys.wm_concat(data2) as data2
from
test_tbl
group by
code,
data

とやると結果
aaa | bbb | ccc,ccc2
と返ってくる

便利~~~~
http://www.drk7.jp/MT/archives/001395.html

2009年1月22日木曜日

Oracle limit offset

OracleではLimit Offsetがないため処理的に困ることが多い
じゃあどうするかというと
betweenとrow_number() over()を使うとうまくいける

テーブル例
TEST
 SORT NUMBER(1),
TEST_NAME VARCHAR2(256)

例として先頭の10個取ってくるサンプル
select
*
from(
select
row_number() over(ORDER BY SORT) AS NUM,
TEST_NAME
FROM
TEST
ORDER BY SORT
)
WHERE
NUM BETWEEN 0 AND 10

これでかなり楽になりますね

2008年2月2日土曜日

postgresql decode

OracleでいうDECODE処理はPostgresqlでは下記のように行う

case
 col1
when 1 then
'OK'
else
'NG'
end

ちょっと長いけど同じことができますね。
ちなみにORACLEのNVLは
coalesce(col1,'NG')
という感じ

2007年10月26日金曜日

日付関数 mysql postgres oracle

すぐ忘れてしまうので各DBごとの日付関数

mysql
select date_format(now(), '%Y%m%d')

Oracle
select to_char(sysdate,'yyyymmdd') from dual

postgres
select to_char(current_timestamp, 'yyyymmdd');


すべて結果は
-------------------------------
20071026