# SQL Predicate Filter Rule

A *SQL Predicate Filter Rul* e is useful when other filtering techniques are insufficient and it is possible to write a database SQL fragment to identify records that match a snapshot policy. It is rare to need this filter rule because filtering can typically be accomplished using the graphical *Column Expression Filter Rule*.

A *SQL Predicate Filter Rule* has a single configuration parameter: a fragment of database specific SQL will be added to the WHERE clause of a SQL statement generated by CopyStorm. Example:

* `SELECT Id FROM Account WHERE Id IN (…) AND (configuration parameter from SQL Predicate Filter)`

If the argument to a *SQL Predicate Filter Rule* was “RecordAge\_\_c>46 OR alwaysSnapshot\_\_c=1” then SQL statements generated by CopyStorm would look like:

* `SELECT Id FROM Account WHERE Id IN (…) AND (RecordAge__c>46 OR alwaysSnapshot__c=1)`

A *SQL Predicate Filter Rul*e also includes a rule for [which tables to include in the snapshot](/reference/archive-tab/archive-policy-editor/policy-filter-rules.md#white-and-black-lists).

![](/files/ONdA9lKxqbQCSsI7oCpo)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.capstorm.com/reference/archive-tab/archive-policy-editor/policy-filter-rules/sql-predicate-filter-rule.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
