I have a follow up question based on this answer which is string based: https://stackoverflow.com/a/41556608/221270
How to achieve the same conditional color and icon formatting but based on a value:
SELECT task_name,
start_date,
status,
CASE status
WHEN > 50 THEN 'fa-clock-o is-open'
WHEN > 100 THEN 'fa-check-circle is-closed'
WHEN > 150 THEN 'fa-exclamation-circle is-holding'
WHEN > 200 THEN 'fa-exclamation-triangle is-pending'
END status_icon,
CASE status
WHEN > 10 THEN 'red'
WHEN > 50 THEN 'green'
WHEN > 150 THEN 'pink'
WHEN > 200 THEN 'orange'
END icon_color,
assigned_to
FROM eba_ut_chart_tasks
ORDER BY 2
If I use the code above I got this error:
ORA-20999: Failed to parse SQL query! ORA-06550: line 10, column 1: ORA-00936: missing expression
CodePudding user response:
The current syntax id wrong. You need to take the status
column between each WHEN
and THEN
clauses in order to get boolean expressions such as
SELECT task_name,
start_date,
status,
CASE
WHEN status > 50 THEN
'fa-clock-o is-open'
WHEN status > 100 THEN
'fa-check-circle is-closed'
WHEN status > 150 THEN
'fa-exclamation-circle is-holding'
WHEN status > 200 THEN
'fa-exclamation-triangle is-pending'
END status_icon,
CASE
WHEN status > 10 THEN
'red'
WHEN status > 50 THEN
'green'
WHEN status > 150 THEN
'pink'
WHEN status > 200 THEN
'orange'
END icon_color,
assigned_to
FROM eba_ut_chart_tasks
ORDER BY 2