从两行中,返回包含数字/字符串字符的行

时间:2018-12-21 19:52:47

标签: mysql sql

我正在运行一个对大数据集进行迭代的mysql查询。运行查询后,返回以下行。

id | location
123| USA
45A| Canada

我想做的是返回第二行,其ID包含数字和字母。我不一定会有2行,所以我不能返回最后一个值或尝试ORDER by...desc

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

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

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

2 个答案:

答案 0 :(得分:0)

如果要返回具有非数字的行,则可以执行以下操作:

where someId regexp '[^0-9]'

答案 1 :(得分:0)

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

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