从表中选择*来自TRIM(所有[:nonalphnum:] FROM`title`)

时间:2017-09-11 23:06:25

标签: php mysql sorting sql-order-by trim

我认为简单的查询变成了一个令人头痛的问题。

我想通过修剪标题中的所有非孤立字符来订购。

在...中按字母顺序对结果进行排序,但忽略任何非孤立字符......不要将它们从数据库中删除,只是假设它们不在那里。

2 个答案:

答案 0 :(得分:0)

我认为修剪不适用于角色类。你的案例是一些正则表达式替换函数的海报示例... mysql不提供afaik。

你可能做的是:创建一个额外的列,你只用alphanum写一个标题 - 用php - ,(插入时创建或现有行一次)然后对它进行排序。

答案 1 :(得分:0)

好的,结果有一种方法。这很丑陋,但它确实有效,因为我不必取出所有非字母数字。

SELECT * FROM `table` ORDER BY TRIM(BOTH '"' 
FROM (TRIM(LEADING '$' 
FROM (TRIM(BOTH '\'' 
FROM (TRIM(BOTH '#' 
FROM (TRIM(BOTH '&' 
FROM (TRIM(BOTH '(' 
FROM (TRIM(BOTH '-' 
FROM `title`))))))))))))) ;