我的桌子上有一个BINARY
字段,我通常会抓住这个字段:
SELECT HEX(users.id) AS id FROM users WHERE username = ?
我最近开始使用Knex,因为我需要能够从对象动态生成WHERE
子句。这就是我的尝试:
knex('users').select('HEX(users.id) AS id)').where(filter);
这是它生成的查询:
select `HEX(users`.`id)` as `id` ....
然后我尝试了这个:
knex('users').select('HEX(`users`.`id`) AS id').where(filter);
它提出了这个:
select `HEX(``users```.```id``)` as `id` ....
如果不将其误认为列名,我如何执行HEX()
?
答案 0 :(得分:1)
我找到了解决方案。我必须使用raw()
函数。所以我的查询构建器将如下所示:
knex('users').select(knex.raw('HEX(`users`.`id`) AS id')).where(filter);
答案 1 :(得分:1)
让knex让我们引用标识符,它看起来像这样:
for root, dir, files in os.walk("Path of a directory"):
for file in files:
print(os.path.getmtime(os.path.abspath(file)))