2010-11-17 429 views
0

我在看,看起来像这样一个SQL语句:SQL中的“:1”,“:2”是什么意思?

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

,我不知道是什么:1:2呢?

有人可以告诉我,

谢谢, :)

+0

“哪个SQL”?我正在猜测各种各样的地方。 – 2010-11-17 03:24:53

+0

可能重复[什么是冒号“:”在SQL查询中执行?](http://stackoverflow.com/questions/2177978/what-does-the-colon-sign-do-in-a-sql - 查询) – 2010-11-17 03:30:03

+0

postgres sql,所以占位符可以在数字? – Aion 2010-11-17 03:30:15

回答

10

他们是在一个参数化查询的占位符,等待程序一起去,并提供参数。

+0

在什么情况下? – 2010-11-17 03:28:07

2

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

+0

在什么情况下? – 2010-11-17 03:27:31

+2

@pst - 你能澄清你的问题吗? – 2010-11-17 03:28:05

1

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