SQL中的“:1”,“:2”是什么意思?

时间:2010-11-17 03:24:04

标签: sql postgresql

我正在查看一个如下所示的sql语句:

...
AND col2_.col_date >= :1
AND col2_.col_date <= :2
...

而且我不知道:1和:2会做什么?

有人可以启发我,

谢谢, :)

3 个答案:

答案 0 :(得分:10)

它们是参数化查询中的占位符,等待程序出现并提供参数。

答案 1 :(得分:2)

在运行查询时指定了一些参数 - 而不是直接在查询中将日期作为文本,它们是在运行查询时注入的参数。您所看到的是第一个和第二个占位符......服务器和提供商之间的语法各不相同。例如,有时您会看到它们的名称而不是编号等。

答案 2 :(得分:1)

这些是占位符,但不在SQL中,仅在构造SQL字符串的编程语言中。在SQL(无论如何都是PostgreSQL)中,你必须使用编号占位符$ 1,$ 2等。检查PREPARE的PostgreSQL手册或pg_query_params()的PHP手册。