## Syntax ```mermaid %%{init: { 'theme': 'base', 'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' }, 'themeVariables': { 'fontSize': '11px', 'fontFamily': 'Arial' } }}%% flowchart LR Start((START)) --> CONCAT[CONCAT]:::quoted Start -->| | CONCAT_OP["||"]:::quoted CONCAT --> End((END)) CONCAT_OP --> End((END)) ``` ## Purpose The `CONCAT` SQL function concatenates the left and right values together as a `varchar2` or `blob`. Parameters: - Position 1 (`varchar2` or `blob`): a value. - Position n (`varchar2` or `blob`): more values. Returns: concatenation of the parameters. Returns a `blob` when at least one value is a `blob`and `varchar2` otherwise. A `null` value is considered an empty text . The `CONCAT` SQL function accepts an arbitrary number of parameters, whereas the `||` operator is used in an infix notation. Use of `CONCAT` instead of the `||` operator is recommended for performance reasons when 50 or more texts are being concatenated together. ## Examples The following example retrieves the concatenation of `abc` and `def`: ```sql select concat('abc', 'def') -------- abcdef ``` The following example retrieves the concatenation of `abc`, `null` and `def`: ```sql select concat('abc', null, 'def') -------- abcdef ``` The following example retrieves the concatenation of `abc`, `null` and `def` using the infix concatenation operator `||`: ```sql select 'abc' || null || 'def' -------- abcdef ```