首页 > 解决方案 > 从两行中,返回包含数字/字符串字符的行

问题描述

我正在运行一个遍历大型数据集的 mysql 查询。运行查询后,我返回以下行。

id | location
123| USA
45A| Canada

我想做的是返回第二行,其 id 包含数字和字母。我并不总是有 2 行,所以我不能返回最后一个值或 try ORDER by...desc

我尝试过的是在返回之前使用正则表达式插入以下语句

WHERE someId REGEXP '^([0-9]+[a-zA-Z]+|[a-zA-Z]+[0-9]+)[0-9a-zA-Z]*$'

但是,这会出错并且不会返回任何内容。我的预期输出应该返回第二行。

标签: mysqlsql

解决方案


要匹配同时包含数字和字母的行:

WHERE REGEXP_LIKE( someId, '[[:alpha:]]') AND REGEXP_LIKE( someId, '[[:digit:]]')

推荐阅读