MySQL - 查询以获取特定字符为非英语的所有行

标签 mysql sql select

我有一个表有 nvarchar元素。 该表有两种元素:

  1. 只有数字字符的元素
  2. 包含数字字符且第3个字符为非英文字符的元素

我想要一个查询来获取所有第 3 个字符为非英语的行。

编辑

使用WHERE SUBSTRING(<table>.ColumnName, 3, 1) NOT BETWEEN '0' AND '9'也为我工作

最佳答案

我会将 regexp_like 与第三个字符不是数字的正则表达式一起使用:

SELECT *
FROM   mytable
WHERE  REGEXP_LIKE(mycol, '..[^[:digit:]].*')

在 MySQL 8.0 之前的版本中,您可以使用 regexp 运算符:

SELECT *
FROM   mytable
WHERE  mycol REGEXP '..[^[:digit:]].*'

关于MySQL - 查询以获取特定字符为非英语的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52899327/

相关文章:

mysql - 使用插入查询设置过程 MySQL 5.5 时出错

mysql - 使用 YEAR mysql 的年龄

mysql - 我如何比较两个表以查看 Access 中数据的差异

java - 我应该在将文件发送到后端之前还是之后将其转换为 Base64?

select - 如何在 Emacs 上选择与点连接的字符串

java - 在 Hibernate 中映射注释

sql - 如何在 SQL SERVER 2008 中启用字母(A、B、C、D...)自动递增?

php - 如何在没有 artisan 的情况下运行 laravel 迁移(使用代码)

mysql - SQL选择属于同一对象的用户

c - 如何在服务器也在监听其他请求的同时从 C 中的客户端/服务器上的键盘获取输入命令?