I m 安装一个自动化设备,使用户能够进入部分文本,然后与表内4个不同栏目相匹配。 这方面的一个基本实例是:
+------------+-----------+--------+-----------------+
| first_name | last_name | login | email |
+------------+-----------+--------+-----------------+
| John | Smith | jsmith | [email protected] |
| Johnny | Ringo | ringo | [email protected] |
| Bob | Jones | bjones | [email protected] |
| Jane | Doe | doej | [email protected] |
+------------+-----------+--------+-----------------+
当用户进入“工作”时,我想与本表的记录相匹配,在这四栏中至少有一栏与“工作%”模式相匹配。 举例来说,只有头两条符合first_name
。 页: 1 如果查询为“js”,则只有第一个记录与其login <>/code>和
email
栏值相符。 因此。 我也希望恢复类似规定的结果,即第一个结果是“最接近”结果,从而降低结果(标准汽车行为)。
I ve currently been trying to solve this problem using UTL_MATCH
, and code that produces the following query:
SELECT first_name,
last_name,
login,
email,
( utl_match.jaro_winkler_similarity(first_name, js )
+ utl_match.jaro_winkler_similarity(last_name, js )
+ utl_match.jaro_winkler_similarity(login, js )
+ utl_match.jaro_winkler_similarity(email, js )) similarity
FROM users
WHERE LOWER(first_name) LIKE LOWER( js% )
OR LOWER(last_name) LIKE LOWER( js% )
OR LOWER(login) LIKE LOWER( js% )
OR LOWER(email) LIKE LOWER( js% )
ORDER BY similarity DESC
这些结果与我一样准确,我已经看到了在野里的汽车残割,我与我一样工作,但不知道他们如何在后台执行。
谁能向我指出正确的方向?