1

特定の文字列から場所名を抽出する方法はありますか? 例: string = 'Las Vegas Party at Weekends' または 'Paris fashion updates' 両方の文字列から、次のように出力します: 'Las Vegas' または 'Paris'

ありがとう

4

2 に答える 2

2

定義済みの場所を含むテーブルを作成します。

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です。

于 2013-07-17T06:03:57.417 に答える
0

場所のリスト (例: ) を含むテーブルがあると仮定すると、次のlocations (name varchar(100))ようなことができます。

select name from locations where @input like '%'+name+'%'

入力文字列はどこ@inputにありますか ('Paris fashion updates' など)。

これが実際の例です。

ところで、SQL Server を使用している場合、whileループなしで単一の文字列で出力を取得するためのトリックを次に示します。

select @output = @output + ' ' + name 
from locations where @input like '%'+name+'%'

更新された fiddleを参照してください。

于 2013-07-17T05:56:22.403 に答える