ORACLE/DECODE
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(ORACLE)
*DECODE 関数 [#n8ca860e]
※ Decode関数は、Oracle 独自関数のため、標準の CASE 式で記...
※ Oracle 8 までは、CASE 式がサポートされていないため、Dec...
field1 = '10' の件数を数える
select sum(decode(field1,'10',1,0)) FROM table1
select count(field1) FROM table1 where field1 ='10'
と同じだが
select
sum(decode(field1,'10',1,0)),
sum(decode(field1,'20',1,0))
FROM table1
の様な書き方ができるので、集計表示などで便利。
field2 が 1 なら '男' 、それ以外なら '女' と出力する。
select decode (field2,1,'男','女') from table2 ;
field2 が 1 なら '男' 、2 なら'女'、それ以外なら'不明'と...
select decode (field2,1,'男',2,'女','不明') from table2 ;
** CASE 式による書き直し [#zc23d2e1]
上記の例
select
sum(decode(field1,'10',1,0)),
sum(decode(field1,'20',1,0))
FROM table1;
を、CASE 式にて書き直してみると、
select
sum(case when field1='10' then 1 else 0 end),
sum(case when field1='20' then 1 else 0 end)
FROM table1;
となります。
#vote(参考になった[15],参考にならなかった[2])
終了行:
#navi(ORACLE)
*DECODE 関数 [#n8ca860e]
※ Decode関数は、Oracle 独自関数のため、標準の CASE 式で記...
※ Oracle 8 までは、CASE 式がサポートされていないため、Dec...
field1 = '10' の件数を数える
select sum(decode(field1,'10',1,0)) FROM table1
select count(field1) FROM table1 where field1 ='10'
と同じだが
select
sum(decode(field1,'10',1,0)),
sum(decode(field1,'20',1,0))
FROM table1
の様な書き方ができるので、集計表示などで便利。
field2 が 1 なら '男' 、それ以外なら '女' と出力する。
select decode (field2,1,'男','女') from table2 ;
field2 が 1 なら '男' 、2 なら'女'、それ以外なら'不明'と...
select decode (field2,1,'男',2,'女','不明') from table2 ;
** CASE 式による書き直し [#zc23d2e1]
上記の例
select
sum(decode(field1,'10',1,0)),
sum(decode(field1,'20',1,0))
FROM table1;
を、CASE 式にて書き直してみると、
select
sum(case when field1='10' then 1 else 0 end),
sum(case when field1='20' then 1 else 0 end)
FROM table1;
となります。
#vote(参考になった[15],参考にならなかった[2])
ページ名: