1

我有一列包含 5A898、89KAS、89ASD 等值。

我正在尝试编写一个查询,该查询仅返回列的第三位为“A”的行。例如“89ASD”会被返回,但“89KAS”不会。我不确定这样做的正确方法是什么。常用表达?

所以...

SELECT column
FROM table
WHERE column = ?
4

4 回答 4

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

应该做的伎俩。两个“whatever”字符,后跟一个 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 回答