×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
Hello Daniel
Thank you for thinking with me. This indeed works!
In previous preparation I already read about the difference between the case statement and the case expression. I guess the applicability in order-by clauses is one example where these differences surface.
Kind regards, Met vriendelijke groet,
Martijn van Breden
lead software architect
Hi Martijn,
Am 03.09.2024 um 14:15 schrieb Martijn van Breden <m.vanbreden@xxxxxxxxxxxxxxxxxxxxxxxxxx>:
select REFKL, ORDAT, ORDNR
from TOVF
order by
case :SortCode
when 'A' then ' ORDAT asc '
when 'D' then ' ORDAT desc '
else ' REFKL asc '
end
limit 10;
This ORDER BY expression doesn't work - as you can only have an expression instead of a column name. So this should work:
order by
case :SortCode when 'A' then ORDAT end asc,
case :SortCode when 'D' then ORDAT end desc,
case when :SortCode not in ('A', 'D') then REFKL end asc
Lets look into it in detail, when :SortCode is set - lets assume its 'D' then the cases will evaluate into this
order by
null asc,
ordat desc,
null asc
So - as the cases, which are not true, evaluate to null, their sorting doesn't effect the result set sequence.
With a case, you can switch between 2 or more columns to sort, but you cannot switch the ascending or descending.
HTH
Daniel
--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
As an Amazon Associate we earn from qualifying purchases.