sql - Oracle:返回仅包含数字值的行的 SQL 查询

标签 sql oracle

我有一个名为 X 的字段(Oracle 中的列),其值类似于“a1b2c3”、“abc”、“1ab”、“123”、“156”

如何编写一个只返回包含纯数值 = 无字母的 X 的 SQL 查询?在上面的例子中将是“123”和“156”

选择X 来 self 的表 哪里...??

最佳答案

您可以使用REGEXP_LIKE函数:

SELECT X 
FROM myTable 
WHERE REGEXP_LIKE(X, '^[[:digit:]]+$');

示例运行:

SQL> SELECT X FROM SO;

X
--------------------
12c
123
abc
a12

SQL> SELECT X  FROM SO WHERE REGEXP_LIKE(X, '^[[:digit:]]+$');

X
--------------------
123

SQL> 

关于sql - Oracle:返回仅包含数字值的行的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3932230/

相关文章:

sql - 如何获得与此 SQL 练习中的最大平均值相对应的值?

mysql - SQL - 只允许插入三列之一(但必须设置一列)

java - 与用户相关的线程的响应能力

java - Eclipse 链接版本从 2.1 升级到 2.5 导致问题

php - 使用第一个 MySQL 查询的结果从第二个表中提取数据

c# - 长时间运行存储过程而不保持与 Azure 数据库的连接打开

php - 统计数据库中最多列出 'author'行

sql - 如何从 Oracle 中的时间戳中删除毫秒?

mysql - 需要数据库设计规范化帮助 (5nf)

oracle - 选择查询中的 PL/SQL 存储错误