SQL 如何从字符串中提取数字?

标签 sql oracle oracle-sqldeveloper

我正在使用 SQL 进行查询,该查询应该能够从文本字符串的开头提取不同/随机长度的数字。

文本字符串:666 魔鬼数不是 8888。
文字串:12345魔鬼号码是我的密码,也就是6666。

我想进入专栏

666
12345

最佳答案

使用 Substr 的组合& instr

SELECT Substr (textstring, 1,instr(textstring,' ') - 1) AS Output
FROM yourtable

结果:
OUTPUT
666
12345

如果开头有文本,请使用此选项,例如aa12345 devils number is my PIN, that is 6666.因为它使用了 REGEXP_REPLACE功能。
SELECT REGEXP_REPLACE(Substr (textstring, 1,instr(textstring,' ') - 1), '[[:alpha:]]','') AS Output
FROM yourtable

SQL fiddle :http://sqlfiddle.com/#!4/8edc9/1/0

关于SQL 如何从字符串中提取数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31027570/

相关文章:

database - 此警告意味着什么 `Required tables DBMSHP_FUNCTION_INFO,DBMSHP_PARENT_CHILD_INFO,DBMSHP_RUNS missing`

mysql - 使用 SQLDeveloper 查询 mysql 数据库不返回正确的值

sql - 多属性数据库设计困惑

sql - 从只有一种格式的数据库中的查询中获取 "Cannot resolve the collation conflict"错误

sql - ORA-06532 : Subscript outside of limit

database - Oracle - "record"常量

SQL 连接一系列值(整数范围、日期范围等)

java - 将字符串数组从java传递给pl/sql函数

oracle - 设置除以 0 返回 0

oracle-sqldeveloper - Oracle Data Modeler 从数据模型生成的列名太长