如何 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 并且它工作正常。