“:1”、“:2”是什么意思? SQL 中的意思是?
我正在查看如下所示的 sql 语句:
...
AND col2_.col_date >= :1
AND col2_.col_date <= :2
...
我不知道 :1 和 :2 的作用是什么?
有人可以启发我吗,
谢谢 :)
I am looking at a sql statement that looks like this:
...
AND col2_.col_date >= :1
AND col2_.col_date <= :2
...
and I have no idea what :1 and :2 does??
Can someone enlighten me,
Thanks,
:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
它们是参数化查询中的占位符,等待程序出现并提供参数。
They're placeholders in a parametrized query, waiting for the program to come along and supply the parameters.
有一些参数是在运行查询时指定的 - 不是将日期直接作为查询中的文本,而是在运行查询时注入的参数。您看到的是第一个和第二个占位符......服务器和提供者之间的语法有所不同。例如,有时您会看到它们的名称而不是编号等。
There are parameters, specified when running the query - rather than having the date as text directly in the query, they're parameters injected when the query is run. What you're seeing are the first and second placeholders...the syntax varies between servers and providers. For example sometimes you'll see them names instead of numbered, etc.
这些是占位符,但不在 SQL 中,仅在构造 SQL 字符串的编程语言中。在 SQL(无论如何 PostgreSQL)中,您必须使用编号占位符 $1、$2 等。检查 PostgreSQL 手册中的 准备 或 pg_query_params() 的 PHP 手册。
These are placeholders, but not in SQL, only in your programming language that constructs the SQL-string. In SQL (PostgreSQL anyway) you have to use numbered placeholders $1, $2, etc. Check the PostgreSQL-manual for PREPARE or the PHP-manual for pg_query_params().