File tree Expand file tree Collapse file tree 5 files changed +140
-13
lines changed
src/test/testData/sql/formatter Expand file tree Collapse file tree 5 files changed +140
-13
lines changed Original file line number Diff line number Diff line change @@ -46,7 +46,8 @@ SELECT id
4646 , quantity >> 10 AS much_greater
4747 ,
4848 -- Complex conditions with multiple operators
49- CASE WHEN json_data - >> ' status' <> ' active' THEN ' inactive'
49+ CASE
50+ WHEN json_data - >> ' status' <> ' active' THEN ' inactive'
5051 WHEN json_data - >> ' priority' >= ' 5' THEN ' high'
5152 ELSE ' normal'
5253 END AS status_priority
Original file line number Diff line number Diff line change 1- Select case when div = ' A' then ' AAA'
2- when div = ' B' then ' BBB'
3- else ' CCC' end as divName
4- from users
1+ SELECT *
2+ , CASE
3+ /* * case-end */
4+ WHEN SUM (CASE WHEN name = ' apple' THEN 1
5+ WHEN name = ' berry' THEN 3
6+ ELSE 0
7+ END) > 0 THEN ' x'
8+ -- active check
9+ WHEN SUM (CASE
10+ WHEN NOT EXISTS ( SELECT number
11+ FROM users
12+ WHERE status = 1 ) THEN 1
13+ ELSE 0
14+ END) > 0 THEN ' y'
15+ WHEN SUM (CASE
16+ WHEN position > 100
17+ AND count (* ) > 10 THEN 1
18+ OR number > 10 THEN 1
19+ WHEN position <= 100
20+ OR count (* ) > 10 THEN 1
21+ ELSE 0
22+ END) > 0 THEN ' z'
23+ ELSE 0
24+ END AS user_status
25+ FROM active_users
26+ ORDER BY CASE
27+ WHEN orders = 1 THEN 1
28+ ELSE 2
29+ END
30+ , CASE
31+ WHEN pickup IS NULL THEN
32+ CASE
33+ WHEN case_status THEN 0
34+ ELSE 1
35+ END
36+ ELSE
37+ CASE
38+ WHEN case_static_status THEN 0
39+ ELSE 1
40+ END
41+ END
Original file line number Diff line number Diff line change 1- Select case when div = ' A' then ' AAA'
1+ Select case /* %if isCheckStatus */
2+ WHEN status = ' 1' THEN 1
3+ /* %else */
4+ /* %if hasPoint */
5+ WHEN status = ' 2' THEN 2
6+ /* %end*/
7+ /* %end*/
8+ when div = ' A' then ' AAA'
29/* %if addCondition*/
310 /* %if conditionType == 1 */ when div = ' B' then ' BBB1'
411/* %elseif conditionType == 2 */
512when div = ' B' then ' BBB2'
613/* %end*/
714/* %end*/
815 else ' CCC' end as divName
9- from users
16+ from users
17+ ORDER BY CASE
18+ WHEN pickup IS NULL THEN
19+ /* %if isCase*/
20+ CASE
21+ WHEN case_status = 1 THEN 0
22+ ELSE 1
23+ END
24+ /* %elseif isCaseEnd*/
25+ CASE
26+ WHEN case_status = 2 THEN 0 ELSE 1 END
27+ /* %else*/
28+ 0
29+ /* %end*/
30+ ELSE CASE
31+ WHEN case_static_status THEN 0 ELSE 1
32+ END END
Original file line number Diff line number Diff line change 1- SELECT CASE WHEN div = ' A' THEN ' AAA'
1+ SELECT CASE
2+ /* %if isCheckStatus */
3+ WHEN status = ' 1' THEN 1
4+ /* %else */
5+ /* %if hasPoint */
6+ WHEN status = ' 2' THEN 2
7+ /* %end*/
8+ /* %end*/
9+ WHEN div = ' A' THEN ' AAA'
210 /* %if addCondition*/
311 /* %if conditionType == 1 */
412 WHEN div = ' B' THEN ' BBB1'
@@ -9,3 +17,24 @@ SELECT CASE WHEN div = 'A' THEN 'AAA'
917 ELSE ' CCC'
1018 END AS divName
1119 FROM users
20+ ORDER BY CASE
21+ WHEN pickup IS NULL THEN
22+ /* %if isCase*/
23+ CASE
24+ WHEN case_status = 1 THEN 0
25+ ELSE 1
26+ END
27+ /* %elseif isCaseEnd*/
28+ CASE
29+ WHEN case_status = 2 THEN 0
30+ ELSE 1
31+ END
32+ /* %else*/
33+ 0
34+ /* %end*/
35+ ELSE
36+ CASE
37+ WHEN case_static_status THEN 0
38+ ELSE 1
39+ END
40+ END
Original file line number Diff line number Diff line change 1- SELECT CASE WHEN div = ' A' THEN ' AAA'
2- WHEN div = ' B' THEN ' BBB'
3- ELSE ' CCC'
4- END AS divName
5- FROM users
1+ SELECT *
2+ , CASE
3+ /* * case-end */
4+ WHEN SUM (CASE
5+ WHEN name = ' apple' THEN 1
6+ WHEN name = ' berry' THEN 3
7+ ELSE 0
8+ END) > 0 THEN ' x'
9+ -- active check
10+ WHEN SUM (CASE
11+ WHEN NOT EXISTS ( SELECT number
12+ FROM users
13+ WHERE status = 1 ) THEN 1
14+ ELSE 0
15+ END) > 0 THEN ' y'
16+ WHEN SUM (CASE
17+ WHEN position > 100
18+ AND count (* ) > 10 THEN 1
19+ OR number > 10 THEN 1
20+ WHEN position <= 100
21+ OR count (* ) > 10 THEN 1
22+ ELSE 0
23+ END) > 0 THEN ' z'
24+ ELSE 0
25+ END AS user_status
26+ FROM active_users
27+ ORDER BY CASE
28+ WHEN orders = 1 THEN 1
29+ ELSE 2
30+ END
31+ , CASE
32+ WHEN pickup IS NULL THEN
33+ CASE
34+ WHEN case_status THEN 0
35+ ELSE 1
36+ END
37+ ELSE
38+ CASE
39+ WHEN case_static_status THEN 0
40+ ELSE 1
41+ END
42+ END
You can’t perform that action at this time.
0 commit comments