【问题标题】:Sorting Nulls and Empty Strings at Last in Sequelize Order By最后按 Sequelize Order By 对空字符串和空字符串进行排序
【发布时间】:2022-12-09 03:40:10
【问题描述】:

我想在 sequelize order by 的最后对 Nulls 和 Empty stings 进行排序。

这是我能够运行的查询:

data = await Provider.findAll({
            where: {
              ...searchFilter,
            },
            order: [
              ['lastName', 'ASC NULLS LAST']
            ],
            ...({ limit: 40 }),
          });

我终于可以对空值进行排序了,不知道如何为空字符串添加另一个条件。 我想在最后对 Nulls 和空字符串进行排序。 我正在使用 sequelize 和 postgress。

【问题讨论】:

    标签: postgresql null sequelize.js sql-order-by


    【解决方案1】:

    你可以按这样的顺序排列多个条件

    order: [
        ['lastName', 'ASC NULLS LAST'],
        [sequelize.literal('CASE WHEN lastName = '' THEN 0 ELSE 1 END'), 'DESC']
    ],
    

    让我知道这是否有效

    【讨论】:

      【解决方案2】:

      另外的选择。

      如果你想最后订购 null OR 空字符串而不在另一个之前订购 null 或空字符串,你可以使用 NULLIF

      order: [
          [sequelize.fn('NULLIF', sequelize.col('lastName'), ''), 'NULLS LAST']
      ]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-18
        • 2015-09-21
        • 1970-01-01
        • 2021-06-10
        相关资源
        最近更新 更多