Конструкция CASE
Оператор CASE обеспечивает ветвление, когда в зависимости от выполнения или невыполнения некоторого условия выполняется либо одна, либо другая последовательность действий. Вы можете указать несколько условий, каждое со своим собственным кодом, и выполнить код, когда условие истинно. Каждое условие определяется в разделе WHEN…THEN. Кроме того, вы можете определить раздел OTHERWISE для обработки любых условий, которые не определены явно.
Синтаксис
CASE expression :
{ WHEN value [ OR WHEN value ] ... THEN
{ block | statement }
} ...
[ OTHERWISE
{ block | statement }
]
END [ CASE ].
В следующем примере кода CASE используется для определения квартала на основе месяца.
VAR CHAR qtr. CASE MONTH(TODAY): WHEN 1 OR WHEN 2 OR WHEN 3 THEN qtr = "Q1". WHEN 4 OR WHEN 5 OR WHEN 6 THEN qtr = "Q2". WHEN 7 OR WHEN 8 OR WHEN 9 THEN qtr = "Q3". OTHERWISE qtr = "Q4". END CASE. MESSAGE "Today’s date is" TODAY SKIP "The current quarter is" qtr.
В зависимости от текущей даты результат выполнения кода будет подобен следующему:
Today’s date is 10/02/22 The current quarter is Q1
