3

フォームのファイルの1つに一般名(別のテーブルに保持されている単語のリスト)が含まれていてはならず、そのファイルの値をパラメーターとして渡して、含まれていないことを確認したいという点で、1つのSQLクエリを作成したいと思います。そのテーブルの一般名。

SQLクエリを使用してそれを達成するにはどうすればよいですか?

注:一般名が「abc」で、パラメーターが「!abc123」として渡されている場合、その単語クエリにはfalseが返されるはずです。

前もって感謝します。

4

5 に答える 5

3

(未テストのクエリ)のようなものを試してください:

SELECT CommonName 
FROM CommonNamesTable 
WHERE CommonName like '%NameToTest%' 
OR CONTAINS(NameToTest, CommonName);

基本的に、文字列一致オプションが必要です。

CONTAINSのオプションを見て、全文検索によるクエリについて読んでください。

于 2012-09-18T08:03:57.043 に答える
2

これはあなたが探しているものですか?

SELECT (COUNT(*) == 0) FROM tablewithcommonwords 
WHERE wordfromform LIKE CONCAT('%', wordcolumnnfromcommonwordstable, '%');
于 2012-09-18T08:04:17.870 に答える
0

これを試して:

   IF NOT EXISTS(SELECT word FROM CommonWord WHERE @yourparam 
                 LIKE '%' + word + '%')
    BEGIN
       RETURN 1
    END
    ELSE
    BEGIN
      Return 0
    END

これは、@yourParamが使用したくない単語や名前に含まれている場合に機能します。テーブルのどの行にも含まれていない場合にのみ1を返します。

本当の部分で機能を拡張したいので、私はこの方法でのみこの文を書きました(NOT Existsの代わりに単純なExistsを使用できます)。

于 2012-09-18T08:06:05.493 に答える
0
if exists (select * from reservedwords where @parameter like '%'+word + '%')
    select 0 
else
    select 1
于 2012-09-18T08:06:10.083 に答える
0

テキストボックスでkeypressEventを使用し、各文字がテキストボックスに入力された後にコードを処理する必要があることをお勧めします。

于 2012-09-18T08:18:24.370 に答える