我正在浏览网页,发现一个类似的查询:
sql = "select milk_rate from special_milk_rate
where code_producer_id=? and effective_from <= ?
and effective_till >= ?"
这个查询语句中的问号具体表示什么意思?
还有一个问题,SQL中的“&”是用来干什么的?
我正在浏览网页,发现一个类似的查询:
sql = "select milk_rate from special_milk_rate
where code_producer_id=? and effective_from <= ?
and effective_till >= ?"
这个查询语句中的问号具体表示什么意思?
还有一个问题,SQL中的“&”是用来干什么的?
通常这意味着使用预处理语句,稍后再填充参数。(例如,请参见http://en.wikipedia.org/wiki/Prepared_statements#Parameterized_statements).
这个查询语句中的问号表示什么意思?
问号是用来表示参数的。
还有一个问题,SQL 中 & 的作用是什么?
& 在 SQL 中是按位与运算符。
问号应该包含实际参数。
例如:
"select milk_rate from special_milk_rate
where code_producer_id=2 and effective_from <= '20101231'
and effective_till >= '20110124'"
在预处理语句中会发现问号,这意味着它是参数化的,并且可以被多次调用而无需重构整个 SQL 语句,只需更改参数即可。一些框架与 SqlCommands 一起使用这些内容。它们封装了转义并防止 SQL 注入攻击。
一些框架还允许使用命名参数。
这里有一篇不错的文章:
在某些语句中,参数在准备语句时是未知的,因为每次执行语句时都可以插入不同的值。在这些语句中,您可以使用问号(?)占位符,在执行语句时必须提供参数。&通常表示一个变量或替换值,你可能会在运行时被提示输入