如何通过对 Sequelize 的查询按顺序设置 collat​​e en_us.UTF-8

How can set collate en_us.UTF-8 in order by query on Sequelize

在 postgres 上,排序方式如下所示。

ORDER BY convert_to(lower(column COLLATE "en_US"), 'UTF8')

但是在 sequelize 中,我应该把“整理”查询放在哪里以及如何写。

// This is omitted "collate" query
sequelize.fn('convert_to', sequelize.fn('lower', sequelize.col(column)), '\'UTF8\''), 'ASC')

尝试将参数作为 sequelize.literal() 传递给 lower() 您也不需要在“UTF8”中包含单引号,只需传递字符串即可。

order: [
  sequelize.fn(
    'convert_to', 
    sequelize.fn(
      'lower', 
      sequelize.literal('column COLLATE "en_US"')
    ), 
    'UTF8'), 
  'ASC')
]