【发布时间】:2018-11-15 08:17:21
【问题描述】:
CREATE TABLE tbl_pat
(
id int,
name varchar(100),
[address] varchar(500)
);
INSERT INTO tbl_pat VALUES(1,'Jack','Lane 1, 90 Road Street, SL');
INSERT INTO tbl_pat VALUES(2,'Will','SA, Lane 10, Street road');
INSERT INTO tbl_pat VALUES(3,'White','Lane 1 ZIM');
INSERT INTO tbl_pat VALUES(4,'Shaw','Street Road');
INSERT INTO tbl_pat VALUES(5,'Steve','Road Street');
INSERT INTO tbl_pat VALUES(6,'Brown','Nz Road 10');
预期结果:
搜索字符串是:Street Road
Name Address Percentage
---------------------------------------------
Shaw Street Road 100
Steve Road Street 100
Will SA, Lane 10, Street road 20
Jack Lane 1, 90 Road Street, SL 17
注意:百分比是在假设上提到的,但前两个应该是 100%,因为它完全匹配。
我正在使用 PATINDEX 搜索单词。
查询:搜索街道
SELECT [Name],[Address]
FROM tbl_pat
WHERE PATINDEX('%Street%',[Address])>=1 AND PATINDEX('%Road%',[Address])>=1
如何计算单个select语句中匹配词的百分比?
【问题讨论】:
-
这个百分比的计算公式是什么?
-
如果没有进行完整的正则表达式搜索的能力,这将很难准确地做到。
标签: sql-server sql-server-2008-r2