とうとう見つけた!!
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年2月25日水曜日
Oracle array
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
登録:
投稿 (Atom)