如何在web2py dal选择查询中使用concat?

时间:2015-06-25 09:25:49

标签: sqlite web2py

我有一张如下表格,

| id | 姓名 |

| 1 | foo |

| 2 |吧|

我想编写一个select查询,它应该在id之前返回一些准备好的文本。所以我的输出应该像val_1& val_2。 我无法在web2py选择查询中看到任何concat方法。为了达到我的要求,我需要单独操作结果。有没有办法在web2py中形成select查询以使用SQL concat?

1 个答案:

答案 0 :(得分:2)

除了字段之外,.select()方法可以将SQL表达式作为参数,因此您可以这样做:

val = "'val_' || mytable.id"
rows = db(db.mytable).select(val)
print rows[0][val]

注意,在select中使用表达式时,结果值将存储在行对象中,其键值等同于SQL表达式本身,因此使用[val]从行对象中提取值。

作为上述方法的替代方法,您可以考虑使用computed fieldvirtual field