首页 > 解决方案 > SQLite Custom ORDER BY over Strings导致解析器堆栈溢出

问题描述

我在字符串上编写了一个自定义的 SQLite“排序”,它基本上用字母表中适当位置的字母替换每个相关子字符串。

问题很简单 - 有太多的 REPLACE 语句运行导致解析器堆栈溢出。

例如,该语句类似于:SELECT ... FROM ... WHERE ... ORDER BY REPLACE(REPLACE(...REPLACE('alpha','A'), 'beta','B'), 'gamma','C')...);

REPLACE 调用的总数为 66。

我目前的解决方法是使用自定义函数来应用替换(因为我使用的是 sqlite c api),但是能够在 SQLite 本身中执行此操作会很好,而不必使用 ac 回调。

可能吗?有更好的解决方案吗?

标签: sqlitesortingsql-order-by

解决方案


推荐阅读