1 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 )↵ | | 1 | StringBuffer buf = new StringBuffer( cases.size() * 15 + 10 );↵
|
2 | .append("decode(");↵ | | 2 | StringBuffer buf2 = new StringBuffer( cases.size() );↵
|
|
3 | Iterator iter = cases.entrySet().iterator();↵ | | 3 | Iterator iter = cases.entrySet().iterator();↵
|
4 | while ( iter.hasNext() ) {↵ | | 4 | while ( iter.hasNext() ) {↵
|
5 | Map.Entry me = (Map.Entry) iter.next();↵ | | 5 | Map.Entry me = (Map.Entry) iter.next();↵
|
|
6 | if ( iter.hasNext() ) {↵ | | |
|
7 | buf.append(", ")↵ | | 6 | buf.append(" casewhen(")↵
|
8 | .append( me.getKey() )↵ | | 7 | .append( me.getKey() )↵
|
9 | .append(", ")↵ | | 8 | .append(" is not null")↵
|
10 | .append( me.getValue() );↵ | | 9 | .append(↵
|
11 | }↵ | | |
|
12 | else {↵ | | |
|
13 | buf.insert( 7,↵ | | 10 | ", ")↵
|
14 | me.getKey() )↵ | | 11 | .append( me.getValue() )↵
|
15 | .append(", ")↵ | | 12 | .append(", ");↵
|
16 | .append( me.getValue() );↵ | | 13 | buf2.append(")");↵
|
17 | }↵ | | 14 | }↵
|
|
18 | }↵ | | 15 | ↵
|
|
19 | buf.append(')');↵ | | |
|
20 | ↵ | | 16 | buf.append("-1"); //null caused some problems↵
|
| | | 17 | buf.append( buf2.toString() );↵
|
21 | if (returnColumnName!=null) {↵ | | 18 | if ( returnColumnName!=null ) {↵
|
22 | buf.append(" as ")↵ | | 19 | buf.append(" as ")↵
|
23 | .append(returnColumnName);↵ | | 20 | .append(returnColumnName);↵
|
24 | }↵ | | 21 | }↵
|
25 | ↵ | | 22 | ↵
|
26 | return buf.toString(); | | 23 | return buf.toString();
|