Category: How do I do X?
Updated

This solution is summarized from an archived support forum post. This information may have changed. If you notice an error, please let us know in Discord.

Is it possible to make a PGSQL query as a prepared statement using the LIKE keyword?

Issue

As a community member, I was wondering if I could make a PostgreSQL query as a prepared statement using the LIKE keyword. After researching, I found out that it is possible to use the LIKE keyword in a prepared statement query, as shown in the example provided.

Resolution

To use the LIKE keyword in a PGSQL query as a prepared statement, one can define the query with a placeholder for the variable. In the example provided, the query looks for all rows in the "users" table where the "email" column starts with a given input (defined as a parameter). The query is defined as follows:

SELECT * FROM users WHERE email LIKE '{{Input1.text+"%"}}';

In this query, the {{Input1.text+"%"}} is the placeholder for the variable input. When the query is executed, this placeholder will be replaced with the actual value of the input.

To use this query as a prepared statement, one can define the query normally and then pass the input parameter when executing the query. This can be done using various programming languages and frameworks, such as Node.js with the pg library. An example code snippet to execute the query with a parameter using pg library:

const input = 'example@email.com';

const result = await client.query({
text: 'SELECT * FROM users WHERE email LIKE $1',
values: [`${input}%`],
});

In this snippet, the $1 is the placeholder for the input parameter. The values array contains the actual value of the input ('example@email.com') with a % appended, as required by the LIKE keyword.