如何 select knex 中的一列得到大写的结果?
How to select a column in knex getting the result in UPPERCASE?
我正在尝试从 table 列名中 select,但希望使用 UPPER 将其全部大写。
我想在不使用 Knex raw 的情况下使用它 SQL,但它不起作用。
这就是我想要做的:
const usersJornadasComites = await Database.table('tb_usuario_jornada')
.where('tb_usuario_jornada.jornada_id', lastJornad.id)
.where('tb_usuario_jornada.comite_id', params.id)
.where('tb_usuario_jornada.ativo', 1)
.select(
'tb_usuario.id',
'UPPER(tb_usuario.nome)',
'tb_usuario.email',
'tb_usuario.celular',
'tb_usuario.dt_nascimento',
'tb_usuario_jornada.criado_em',
'tb_usuario.id',
'tb_usuario_jornada.usuario_id'
)
.leftJoin(
'tb_usuario',
'tb_usuario_jornada.usuario_id',
'tb_usuario.id'
)
它给我一个错误,指出 UPPER(tb_usuario.nome) 不是有效的列名。
有什么想法吗?
非常感谢,
吉内斯
你可以试试UPPER(tb_usuario.nome) as nome
如果其他人有同样的问题,请告知。
我使用的解决方案是不使用 ORM 语法,而是使用 knex.raw select 并且它工作正常。
我正在尝试从 table 列名中 select,但希望使用 UPPER 将其全部大写。 我想在不使用 Knex raw 的情况下使用它 SQL,但它不起作用。
这就是我想要做的:
const usersJornadasComites = await Database.table('tb_usuario_jornada')
.where('tb_usuario_jornada.jornada_id', lastJornad.id)
.where('tb_usuario_jornada.comite_id', params.id)
.where('tb_usuario_jornada.ativo', 1)
.select(
'tb_usuario.id',
'UPPER(tb_usuario.nome)',
'tb_usuario.email',
'tb_usuario.celular',
'tb_usuario.dt_nascimento',
'tb_usuario_jornada.criado_em',
'tb_usuario.id',
'tb_usuario_jornada.usuario_id'
)
.leftJoin(
'tb_usuario',
'tb_usuario_jornada.usuario_id',
'tb_usuario.id'
)
它给我一个错误,指出 UPPER(tb_usuario.nome) 不是有效的列名。 有什么想法吗?
非常感谢,
吉内斯
你可以试试UPPER(tb_usuario.nome) as nome
如果其他人有同样的问题,请告知。 我使用的解决方案是不使用 ORM 语法,而是使用 knex.raw select 并且它工作正常。