我有一列包含 5A898、89KAS、89ASD 等值。
我正在尝试编写一个查询,该查询仅返回列的第三位为“A”的行。例如“89ASD”会被返回,但“89KAS”不会。我不确定这样做的正确方法是什么。常用表达?
所以...
SELECT column
FROM table
WHERE column = ?
我有一列包含 5A898、89KAS、89ASD 等值。
我正在尝试编写一个查询,该查询仅返回列的第三位为“A”的行。例如“89ASD”会被返回,但“89KAS”不会。我不确定这样做的正确方法是什么。常用表达?
所以...
SELECT column
FROM table
WHERE column = ?
WHERE column LIKE '__A%'
^^-- 2 underscores
应该做的伎俩。两个“whatever”字符,后跟一个 A,然后是任意数量的任何字符。
也许你可以使用 MySQL 的SUBSTRING
SELECT column
FROM table
WHERE SUBSTRING(column,3,1) = 'A'
where right(left(col,3),1) = 'A'
这可以帮助... MarcB 的答案更清晰
您可以使用正则表达式执行此操作,但我认为在这里处理字符串操作可能更容易:
SELECT column
FROM table
WHERE SUBSTRING(column,3,1) = 'A';