文字列の特定の部分を抽出しようとしています。文字列の特定の部分を選択する
07-16 ACADIA/07-10 OUTLOOK/08-16 ENCLAVE/09-16 TRAVERSE FLOORLINER
たとえば、ここには複数の年の範囲の説明があります。私は07-16
、07-10
、08-16
、および09-16
を抽出する必要があります。私は07-16
を抽出するコードを持っていますが、私はこの時点でコードで失われ始めています。 それらを抽出する方法を理解しようとしています。私はまた私達のデータベースではモデルと比較するためのモデルを取得する必要がありますが、説明の多くは、例えば、それらの小さな矛盾
を持っている:Ford F-150, F-250... Ford F 150, F 250.. Ford F150, F250.. etc.
F-150
はにデータベースに格納されている正しい値になりますと比べて。ここで
は、サンプルデータを作成するために、一時テーブル・スクリプト
CREATE TABLE #mytable(
DESCRIPTION VARCHAR(101)
);
INSERT INTO #mytable VALUES ('07-16 ACADIA/07-10 OUTLOOK/08-16 ENCLAVE/09-16 TRAVERSE REAR FLOORLINER GREY' );
INSERT INTO #mytable VALUES ('08-16 F250/F350/F350/F-450 TECHSHADE NA' );
INSERT INTO #mytable VALUES ('07-16 SILVERADO/SIERRA 1500/15-16 SILVERADO/SIERRA 2500/3500 5FT 9.25IN TECHLINER BLACK ');
INSERT INTO #mytable VALUES ('97-94 BLAZER FS/95-99 TAHOE 2DR/92-97 YUKON 2DR CARGO LINERS TAN');
INSERT INTO #mytable VALUES ('66-72 MERCEDES-BENZ SE/SEL 4.5/108/109 66-73 250S/250SE/280S/300SEB/300SEL TECHSHADE ' );
INSERT INTO #mytable VALUES ('66-70 FAIRLANE/TORINO 68-71 RANCHERO TECHSHADE ' );
INSERT INTO #mytable VALUES ('07-13 MINI COOPER/12-13 COUPE/ROADSTER/02-06 CLUBMAN FRONT RUBBER MATS TAN');
INSERT INTO #mytable VALUES ('60-63 PORSCHE 356B 64-65 356C TECHSHADE ');
は、これは私がAを探しています私は最初の年の範囲
SELECT Left(
SubString(DESCRIPTION, PatIndex('%[0-9.-]%', DESCRIPTION), 5),
PatIndex('%[^0-9.-]%', SubString(DESCRIPTION, PatIndex('%[0-9.-]%', DESCRIPTION), 5) + 'X')-1)
FROM #myTable
を引っ張るために、これまで使用してきたコードです提供されたクエリで明らかな類似の結果私はそれらを分離する必要があります。そのため、比較のために年をdatetime形式に変換することができます。第二範囲は、それらのすべては、このいずれか07-16 ACADIA/07-10 OUTLOOK
どのように多くの異なった年の範囲のようにバックスラッシュで分割されていない、始まる
+-------+-------+-------+-------+
| rng1 | rng2 | rng3 | rng4 |
+-------+-------+-------+-------+
| 07-16 | 07-10 | 08-16 | 09-16 |
| 08-16 | | | |
| 07-16 | 15-16 | | |
| 97-94 | 95-99 | 92-97 | |
| 66-72 | 66-73 | | |
| 66-70 | 68-71 | | |
| 07-13 | 12-13 | 02-06 | |
| 60-63 | 34-65 | | |
+-------+-------+-------+-------+
年の範囲のほとんどは、初めに開始するには、決定する方法はありません各特定の記述にどれぐらいの数があるかを知ることなしには説明できない。これらは私が実際に使っているサンプルです。
最も重要な問題は、私は可能性のために求めているとどのように1は、解決策を見つけるん何です。
を必要に応じて、多くのことを説明していますが、現在のケースと欲望の出力を記述する固有のものではありません。 [** How-to-Ask **](http:// stackoverflow。com/help/how-to-ask) \t \t [** START **](http://spaghettidba.com/2015/04/24/how-to-post-at)に最適な場所です-sql-a-public-forum /)を使用して質問品質を改善し、より良い回答を得る方法を学びます。 –
すべてのレコードは常に正確に4つの一致を持つか、またはこれは異なる可能性がありますか? –
「私は抽出する必要があります。」これを一般的なルールとして説明します。 –