2017-11-09 4 views
0

SQL Serverストアドプロシージャに文字列変数があります。SQL Server:CONTAINTABLEおよびJOINを使用して文字列変数から文字を削除

文字列変数には、削除したい「 - 」のような特殊文字があります。ここで

私の現在のSQLステートメントは、このクエリは動作しますが、私は基本的にハイフンでとせずに文字列値の両方のためのfulltextsearchを行うと組み合わせて00から999と00999. の両方のためにFullTextSearchを経由して検索したい

declare @MyString varchar4(100) = '00-999' 
select [ProductId],[RANK] AS RANK0 
from MyTable mt 
join CONTAINSTABLE (MyTable, *, @MyString) AS cnt 
on cnt.[KEY] = mt.ProductId 

ですあたかも私が組合をやっているかのように結果を返します。

私はこのクエリを試してみましたが、私は任意の助けを大幅に高く評価されています。SQL Serverのスタジオ

select [ProductId],[RANK] AS RANK0 
from MyTable mt 
join CONTAINSTABLE (MyTable, *, @MyString) AS cnt 
    on cnt.[KEY] = mt.ProductId 
join CONTAINSTABLE (MyTable, *, replace(@MyString, '-', '')) AS cnt 
    on cnt.[KEY] = mt.ProductId 

から構文エラーを取得していますありがとう。初心者

+1

エラーは何ですか?エイリアス 'cnt'を2回使用しています。 – SQLChao

答えて

0

追加CONTAINSTABLE機能で

set @MyString = (select replace(@KeyWord, '-', '')) 

使用@MyString。それは働いた

関連する問題