我想知道有没有办法从给定的字符串中提取位置名称?例如字符串 = '拉斯维加斯周末派对' 或 '巴黎时尚更新' 来自我想输出的两个字符串:'Las Vegas' 或 'Paris'
谢谢
我想知道有没有办法从给定的字符串中提取位置名称?例如字符串 = '拉斯维加斯周末派对' 或 '巴黎时尚更新' 来自我想输出的两个字符串:'Las Vegas' 或 'Paris'
谢谢
创建具有预定义位置的表:
CREATE TABLE locations
(
[name] VARCHAR(50)
);
INSERT INTO locations
([name])
VALUES ('Paris'),
('Las Vegas'),
('London');
CREATE TABLE [test]
(
[input] VARCHAR(max)
)
INSERT INTO [test]
(input)
VALUES ('Las Vegas parties at weekends'),
('Paris fashion updates'),
('Paris and London fashion weeks')
然后将其与输入字符串表连接起来:
SELECT
t.Input,
l.Name
FROM
Locations AS l
INNER JOIN test AS t ON t.Input LIKE '%' + l.Name + '%'
ORDER BY
t.Input
这是SQL Fiddle。
假设您有一个包含位置列表(例如locations (name varchar(100))
)的表,您可以执行以下操作:
select name from locations where @input like '%'+name+'%'
您的输入字符串在哪里@input
(“巴黎时尚更新”等)。
while
顺便说一句,如果您使用的是 SQL Server,这里有一个技巧,可以在没有循环的情况下以单个字符串获取输出:
select @output = @output + ' ' + name
from locations where @input like '%'+name+'%'
请参阅更新的小提琴。