Sql where子句中返回以字母开头的值的条件?

Sql where子句中返回以字母开头的值的条件?,sql,oracle,Sql,Oracle,我需要在where子句中设置一个条件来返回包含字母的值。 以下是我的数据示例:一个是纯数字123456789,一个是混合AB1234567 我只想返回混合的字母/数字值 谢谢 编辑:下面答案中的两种方法都很好! 你们太棒了 通过使用where col>'A' 根据回答的脚本测试结果,它们返回了相同的结果。从类似REGEXP(列“[A-Za-z0-9]”)和类似REGEXP(列“[^0-9]”)的表中选择* 查询选择字母数字记录并过滤数字记录,这是使用否定^ 从类似REGEXP(列“[A-Za-z

我需要在where子句中设置一个条件来返回包含字母的值。 以下是我的数据示例:一个是纯数字123456789,一个是混合AB1234567

我只想返回混合的字母/数字值

谢谢

编辑:下面答案中的两种方法都很好! 你们太棒了

通过使用
where col>'A'

根据回答的脚本测试结果,它们返回了相同的结果。

从类似REGEXP(列“[A-Za-z0-9]”)和类似REGEXP(列“[^0-9]”)的表中选择*

查询选择字母数字记录并过滤数字记录,这是使用否定
^


从类似REGEXP(列“[A-Za-z0-9]”)和类似REGEXP(列“[^0-9]”)的表格中选择*

查询选择字母数字记录并过滤数字记录,这是使用否定
^

来源:

测试数据包含 MX01386 7493559

返回的MX记录不为空,返回的数字记录为空

这实际上是用一个空格替换每个值,然后修剪该空格。如果结果值为null,则它必须是数值。如果不为空,则它包含此列表'+-.0123456789'之外的字符

来源:

测试数据包含 MX01386 7493559

返回的MX记录不为空,返回的数值记录为空


这实际上是用一个空格替换每个值,然后修剪该空格。如果结果值为null,则它必须是数值。如果不为空,则它包含“+-.0123456789”列表之外的字符。

可能与@squiguy重复您提到的问题是关于TSQL而不是Oracle SQL的。@JosephB我不知道它是否完全相似,但想法是一样的。@squiguy同意。但是,另一个问题中被接受的答案对甲骨文不起作用。因此,它不是重复的。@squiguy的可能重复您提到的问题是关于TSQL而不是Oracle SQL的。@JosephB我不知道它是否完全相似,但想法是一样的。@squiguy同意。但是,另一个问题中被接受的答案对甲骨文不起作用。因此,它不是重复的。如果我在查询后面添加另一个条件“和列='123456789',它仍将返回数值。我需要查询完全省略纯数字记录。包含
MX01386
7493559
的列返回了这两个记录。在第二组[]周围添加'!如果在查询后面添加另一个条件“和列='123456789',它仍将返回数值。我需要查询完全省略纯数字记录。包含
MX01386
7493559
的列返回了这两个记录。在第二组[]周围添加'!谢谢,这很有效。实际上你的两种方法都有效!但是我将使用您的方法,因为我需要将脚本实现到一个旧的遗留系统中,该系统可能不会像REGEXP_那样使用它。实际上你的两种方法都有效!但是我将使用您的方法,因为我需要将脚本实现到一个旧的遗留系统中,该系统可能不会像REGEXP_那样使用它。
where LENGTH(TRIM(TRANSLATE(YourField, ' +-.0123456789', ' '))) is not null