0

TSQLで、文字列をチェックする方法には、「a」の後に「b」が含まれ、「b」の後に「c」が続かないようにする方法はありますか?たとえば、これらの文字列は私が欲しいものです:

ab
cab
acb

これは私が望むものではありません:abc

例の文字の間に任意の数の文字を挿入できることに注意してください(ただし、上記の私の規則に違反しないでください)。

4

5 に答える 5

6

SQLワイルドカード文字を使用して%、文字列内の任意の文字(1つまたは複数)を定義し、それをLIKE演算子と組み合わせます。

WHERE txtcol LIKE '%a%b%' AND txtcol NOT LIKE '%b%c%'
于 2012-05-24T11:36:57.623 に答える
0

私はこれを好きなしでやります:

where charindex('a', string) < charindex('b', string) and
      charindex('c', string) < charindex('b', string)

キャラクターがそこにいる必要がある場合は、以下を含めます。

where charindex('a', string) < charindex('b', string) and
      charindex('c', string) < charindex('b', string) and
      charindex('a', string) > 0
于 2012-05-24T14:18:22.873 に答える
-1
col1 like '%ab%' and col1 not like '%abc%'
于 2012-05-24T11:35:11.193 に答える
-2

これを試して:

WHERE string LIKE '%ab%' AND string NOT Like '%bc%'
于 2012-05-24T11:35:01.387 に答える
-3

これを試して:

char文字='c';

if(letter =='z')nextChar ='a'; else if(letter =='Z')nextChar ='A';

else nextChar =(char)(((integer)letter)+ 1);

于 2012-05-24T12:58:32.713 に答える