# ExpressionBuilderInterface

> Interface ExpressionBuilderInterface is designed to build raw SQL from specific expression objects that implement yii\db\ExpressionInterface.

[API reference](/docs/api/index.md) › [yii](/docs/api/yii/index.md) › [db](/docs/api/yii/db/index.md) › ExpressionBuilderInterface

| interface | `yii\db\ExpressionBuilderInterface` |
| --- | --- |
| Since | 2.0.14 |
| Source | [`framework/db/ExpressionBuilderInterface.php`](https://github.com/yiisoft/yii2/blob/22.0/framework/db/ExpressionBuilderInterface.php#L18) |

Implemented by 16 types:

- [`ExpressionBuilder`](/docs/api/yii/db/expressionbuilder/index.md)
- [`PdoValueBuilder`](/docs/api/yii/db/pdovaluebuilder/index.md)
- [`QueryExpressionBuilder`](/docs/api/yii/db/queryexpressionbuilder/index.md)
- [`yii\db\conditions\BetweenColumnsConditionBuilder`](/docs/api/yii/db/conditions/betweencolumnsconditionbuilder/index.md)
- [`yii\db\conditions\BetweenConditionBuilder`](/docs/api/yii/db/conditions/betweenconditionbuilder/index.md)
- [`yii\db\conditions\ConjunctionConditionBuilder`](/docs/api/yii/db/conditions/conjunctionconditionbuilder/index.md)
- [`yii\db\conditions\ExistsConditionBuilder`](/docs/api/yii/db/conditions/existsconditionbuilder/index.md)
- [`yii\db\conditions\HashConditionBuilder`](/docs/api/yii/db/conditions/hashconditionbuilder/index.md)
- [`yii\db\conditions\InConditionBuilder`](/docs/api/yii/db/conditions/inconditionbuilder/index.md)
- [`yii\db\conditions\LikeConditionBuilder`](/docs/api/yii/db/conditions/likeconditionbuilder/index.md)
- [`yii\db\conditions\NotConditionBuilder`](/docs/api/yii/db/conditions/notconditionbuilder/index.md)
- [`yii\db\conditions\SimpleConditionBuilder`](/docs/api/yii/db/conditions/simpleconditionbuilder/index.md)
- [`yii\db\mysql\JsonExpressionBuilder`](/docs/api/yii/db/mysql/jsonexpressionbuilder/index.md)
- [`yii\db\oci\LobValueBuilder`](/docs/api/yii/db/oci/lobvaluebuilder/index.md)
- [`yii\db\pgsql\ArrayExpressionBuilder`](/docs/api/yii/db/pgsql/arrayexpressionbuilder/index.md)
- [`yii\db\pgsql\JsonExpressionBuilder`](/docs/api/yii/db/pgsql/jsonexpressionbuilder/index.md)

Interface ExpressionBuilderInterface is designed to build raw SQL from specific expression
objects that implement [`ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md).

## Methods

| Method | Description | Defined by |
| --- | --- | --- |
| [`build()`](#method-build) abstract | Method builds the raw SQL from the $expression that will not be additionally escaped or quoted. | `ExpressionBuilderInterface` |

## Method details

### build() <span id="method-build"></span>

```php
abstract public function build(yii\db\ExpressionInterface $expression, array &$params = []): string
```

Method builds the raw SQL from the $expression that will not be additionally
escaped or quoted.

**Parameters**

| Parameter | Type | Description |
| --- | --- | --- |
| `$expression` | [`ExpressionInterface`](/docs/api/yii/db/expressioninterface/index.md) | The expression to be built. |
| `$params` | `array` | The binding parameters. |

**Returns**

`string`: The raw SQL that will not be additionally escaped or quoted.