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:
x
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
Advertisement
Answer
The current syntax is 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