我有一个包含nvarchar元素的表。 该表包含2种元素:
我希望查询获取所有第三个字符非英语的行。有人可以帮忙吗?
编辑
使用WHERE SUBSTRING(<table>.ColumnName, 3, 1) NOT BETWEEN '0' AND '9'
还是对我有用
答案 0 :(得分:0)
我将regexp_like
与正则表达式一起使用,即第三个字符不是数字:
SELECT *
FROM mytable
WHERE REGEXP_LIKE(mycol, '..[^[:digit:]].*')
在低于8.0的MySQL版本中,您可以使用regexp
运算符:
SELECT *
FROM mytable
WHERE mycol REGEXP '..[^[:digit:]].*'
答案 1 :(得分:0)
您可以使用RLIKE运算符,以下是用于匹配不是数字也不是英语字母的第三个字符的查询
SELECT * FROM
mytable
where SUBSTR(mycol,3,1) NOT RLIKE '^[A-Za-z0-9]$';