1

5A898、89KAS、89ASDなどの値を含む列があります。

列の3桁目が「A」である行のみを返すクエリを作成しようとしています。たとえば、「89ASD」は返されますが、「89KAS」は返されません。これを行う正しい方法がわかりません。正規表現?

それで...

SELECT column
FROM table
WHERE column = ?
4

4 に答える 4

2
WHERE column LIKE '__A%'
                   ^^-- 2 underscores

トリックを行う必要があります。2つの「何でも」の文字、その後にA、その後に任意の量の任意の文字が続きます。

于 2012-10-19T15:45:02.763 に答える
0

たぶんあなたはMySQLを使うことができますSUBSTRING

SELECT column
FROM table
WHERE SUBSTRING(column,3,1) = 'A'
于 2012-10-19T15:44:31.457 に答える
0
where right(left(col,3),1) = 'A'

それは助けることができます...MarcBの答えはよりきれいです

于 2012-10-19T15:46:08.667 に答える
0

正規表現でこれを行うことができますが、ここで文字列操作に対処する方が簡単かもしれないと思います:

SELECT column
FROM   table
WHERE  SUBSTRING(column,3,1) = 'A';
于 2012-10-19T15:47:19.500 に答える