如何在 Qore 的 SqlUtil 中的 where 哈希中多次使用同一列
How to use the same column multiple times in the where hash in Qore's SqlUtil
如何在 Qore 的 SqlUtil 的 where hash 中多次使用一个列?
示例 SQL:colname in (...) and colname not in (...)
这里的 where 哈希看起来像:
hash sh = ('where': (
'colname': op_in(...),
'colname': op_not(op_in(...)),
));
当然,同一个键不能在哈希中多次使用。
这是可能的 - 参见:https://docs.qore.org/current/modules/SqlUtil/html/sql_operations.html#where_clauses
来自文档:
To reference a column more than once in a where clause, prefix the column specification with a unique number and a colon as in the following example:
hash w = ("0:created": op_ge(mindate), "1:created": op_lt(maxdate));
上例中的数字前缀(连同冒号)在生成查询时被删除,仅用于允许相同的列名在生成的查询中出现多次。
您的示例可能如下所示:
hash sh = (
"where": (
"0:colname": op_in(...),
"1:colname": op_not(op_in(...)),
),
);
如何在 Qore 的 SqlUtil 的 where hash 中多次使用一个列?
示例 SQL:colname in (...) and colname not in (...)
这里的 where 哈希看起来像:
hash sh = ('where': (
'colname': op_in(...),
'colname': op_not(op_in(...)),
));
当然,同一个键不能在哈希中多次使用。
这是可能的 - 参见:https://docs.qore.org/current/modules/SqlUtil/html/sql_operations.html#where_clauses
来自文档:
To reference a column more than once in a where clause, prefix the column specification with a unique number and a colon as in the following example:
hash w = ("0:created": op_ge(mindate), "1:created": op_lt(maxdate));
上例中的数字前缀(连同冒号)在生成查询时被删除,仅用于允许相同的列名在生成的查询中出现多次。
您的示例可能如下所示:
hash sh = (
"where": (
"0:colname": op_in(...),
"1:colname": op_not(op_in(...)),
),
);