Select Case | MuleSoft Documentation
# Select Case
The _Select Case_ action step makes it possible to match the contents of a variable against certain predefined cases. For example, you can search the content of a text variable for specific information and specify different action steps to be executed depending on what is found. The “DoElse” component is always present. This is used to provide a default action for cases that have not been specified.
## Properties
  * **CaseValue** Enter the comparison value for the selected case query. This is the value that will be compared with a variable or that will be searched for.
  * **Text Affinity** Value for the textual similarity in a fuzzy search, expressed as a percentage. A value of 0% denotes no similarity while a value of 100% means identical. The default value is 50%.
  * **CompareValue String**
  * **Compare Value Int** Integer
  * **Compare Value Bool**
  * **Compare Value Float**


Other properties that are the same in all action steps are described in section **Common Properties**. For reasons of clarity they are not shown here.
## Wizard
  * **Type** One of the following variable types:
    * **Integer** Positive or negative integer
    * **Alphanumeric** Characters that are either letters or numeric digits, or both (text)
    * **Boolean** Boolean value (True/False)
    * **Float** Positive or negative floating-point number


If you have already defined cases and then change the type, a warning will be shown informing you that all the cases in _Select Case_ will be lost. This is because cases in a _Select Case_ are generated based on the previously selected data type and it is not possible to simply convert the type of existing cases without further consideration.
  * **Cases** You can create one or more cases depending on which data type you have selected above. After you have created a case, you can modify it.


## Data Types and Comparison Options
**File type** | **Comparison options**  
---|---  
Integer (positive or negative whole number) |  ≠ variable must not be a match < variable must be less than Value > variable must be greater than Value ≤ variable must be less than or equal to Value ≥ variable must be greater than or equal to Value  
Alphanumeric (text) |  **Full match** : Value found must match exactly **Substring** : Part of the text in Value must match **Regex comparison** : Search for matches for the regular expression entered as the Value. More information about _Regular Expressions_ is provided in the section on **Using Regular Expressions**. **Fuzzy** : Search for text similar to that in Value Adjust the level of similarity, expressed as a percentage, using the slider under “Text Affinity”. The default value is 50%. A higher value means that fewer matches will be found.  
Boolean (True or False) |  For Boolean there is only one case because this is sufficient in combination with “DoElse” to cover the two possibilities of True and False. **False** : Value in evaluated variable must be False. **True** : Value in evaluate variable must be True.  
Float (positive or negative floating-point number) |  ≠ variable must not be a match < variable must be less than Value > variable must be greater than Value ≤ variable must be less than or equal to Value ≥ variable must be greater than or equal to Value