Skip to main content

Command Palette

Search for a command to run...

Parameters in BigQuery

Updated
1 min read
Parameters in BigQuery

You can use query parameters in BigQuery hashtag#SQL (now in the console as well!) — but how are they different from variables, and when should you use each?

Both parameters and variables act as placeholders and have a defined data type. The difference is where their value comes from and how they’re used.

Parameters (like @corpus)
👉 Are not computed inside the query
👉 Are passed from the outside (Python, UI, API, etc.)

Variables (DECLARE, SET)
👉 Are defined and computed inside a SQL script or stored procedure
👉 Let you store a value and reuse it later in the same script

So what’s the real difference?
➡️ Variables are essential for Dynamic SQL (EXECUTE IMMEDIATE)
➡️ Parameters can filter data, but cannot control identifiers (e.g. table or column names)

🚨 Security
When values come from user input or external sources, parameters are the safer choice—they reduce the risk of SQL injection.

🚅 Performance
Parameters may allow the optimizer to reuse execution plans, while variables can sometimes prevent that.

Found it useful? Check out to my Analytics newsletter at notjustsql.com.

More from this blog

D

Datawise: A blog on SQL, BigQuery, Analytics, Python Tips and Tricks

204 posts

Data Engineer with a passion for transforming complex data landscapes into insightful stories. Here on my blog, I share insights, challenges, and the ever-evolving dance of technology and business.