> For the complete documentation index, see [llms.txt](https://learn.capstorm.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.capstorm.com/reference/archive-tab/archive-policy-editor/policy-filter-rules/sql-predicate-filter-rule.md).

# 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
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
