【发布时间】:2015-09-18 15:43:47
【问题描述】:
我有一个 SELECT 语句。我想知道是否可以在 SELECT 语句中按字符长度匹配?所以,例如。如果一个词的字符长度为 3 或更少,并且如果它与该词匹配,则将被视为 1 个匹配。如果一个单词的字符长度超过 3,并且如果它匹配该单词,它将被计为 2 个匹配项。这可能吗?
SELECT colName,
( colName LIKE '% 22 %' ) +
( colName LIKE '% 333 %' ) +
( colName LIKE '% 4444 %' ) as matches
FROM tableName
HAVING matches > 0
AND matches = (select max(
( colName LIKE '% 22 %' ) +
( colName LIKE '% 333 %' ) +
( colName LIKE '% 4444 %' )
) from tableName) limit 30
示例:
22 = 1 match
333 = 1 match
4444 = 2 matches
【问题讨论】: