SQL 原始字符串

本指南假设您熟悉

sql.raw 允许您通过嵌入原始字符串来动态构建 SQL

重要提示

请注意,sql.raw 不会被转义,并将原样嵌入到 SQL 语句中

await sql`select * from "users" ${sql.raw("where id = 10")}`
select * from "users" where id = 10;
const listUsers = async (filter: string | undefined) => {
  const whereClause = filter ? sql.raw(` where ${filter}`) : sql.raw("");
  return sql`select * from "users"${whereClause}`;
}

await listUsers(`"id" = 10`);
await listUsers(`"name" = 'Dan'`);
await listUsers();
select * from "users" where "id" = 10;
select * from "users" where "name" = 'Dan';
select * from "users";