如何在 web2py dal select 查询中使用 concat?
How to use concat in web2py dal select query?
我有一个 table 如下所示,
| id | 姓名 |
| 1 |富 |
| 2 |栏 |
我想编写一个 select 查询,该查询应该 return 在 ID 之前添加一些前置文本。所以我的输出应该类似于 val_1 & val_2。
我在 web2py select 查询中看不到任何 concat 方法。为了达到我的要求,我需要单独操作结果。有没有办法在 web2py 中形成 select 查询以使用 SQL concat?
.select()
方法除了字段之外还可以将 SQL 表达式作为参数,因此您可以:
val = "'val_' || mytable.id"
rows = db(db.mytable).select(val)
print rows[0][val]
注意,当在 select 中使用表达式时,结果值存储在行对象中,其键等于 SQL 表达式本身,因此使用 [val]
从行对象中提取值。
作为上述方法的替代方法,您可以考虑使用 computed field or a virtual field.
我有一个 table 如下所示,
| id | 姓名 |
| 1 |富 |
| 2 |栏 |
我想编写一个 select 查询,该查询应该 return 在 ID 之前添加一些前置文本。所以我的输出应该类似于 val_1 & val_2。 我在 web2py select 查询中看不到任何 concat 方法。为了达到我的要求,我需要单独操作结果。有没有办法在 web2py 中形成 select 查询以使用 SQL concat?
.select()
方法除了字段之外还可以将 SQL 表达式作为参数,因此您可以:
val = "'val_' || mytable.id"
rows = db(db.mytable).select(val)
print rows[0][val]
注意,当在 select 中使用表达式时,结果值存储在行对象中,其键等于 SQL 表达式本身,因此使用 [val]
从行对象中提取值。
作为上述方法的替代方法,您可以考虑使用 computed field or a virtual field.