【问题标题】:Knex: How to trim the result?Knex:如何修剪结果?
【发布时间】:2020-05-14 07:44:03
【问题描述】:

使用SQL时,查询可以写成:

select RTRIM(dept_id) as dept_id from dept 

除了使用knex.raw之外,我们是否可以使用knex原生API实现修剪?

我的 SQL Server 版本是 2000。

【问题讨论】:

    标签: sql node.js sql-server knex.js


    【解决方案1】:

    要正确修剪,您必须同时执行 LTRIM、RTRIM。我建议您在数据库层进行修剪。而不是将数据带到中间层并在那里进行修剪。当您在 DB 层进行修剪时,您还可以减少传输到其他层的数据量。

    select LTRIM(RTRIM(dept_id)) as dept_id from dept
    

    【讨论】:

    • 我知道如何在原始 sql 中做到这一点。我可以通过使用knex.raw('select LTRIM(RTRIM(dept_id)) as dept_id from dept') 简单地实现我的预期结果。但我想知道是否有任何 knex 原生语法可以支持修剪。例如:knex.trim() 我尝试做knex.select(LTRIM(RTRIM(dept_id)) as dept_id).from('dept'),但没有成功。
    【解决方案2】:

    我们可以使用 knex.raw() 作为部分查询,如下所示,而不是在 knex.raw() 中更改整个查询

    knex.select("*", knex.raw(RTrim(dept_id) as dept_id)).from("dept") 
    

    【讨论】:

      猜你喜欢
      • 2012-05-23
      • 1970-01-01
      • 2016-07-13
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多