如何使用MySQL查询在文本字段中找到第一个数字?

编程入门 行业动态 更新时间:2024-10-22 19:24:11
本文介绍了如何使用MySQL查询在文本字段中找到第一个数字?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我只想返回存储在数据库表列中的文本的第一个数字. 用户已将页面范围放入"p.2-5"或第2至5页"或"2-5"之类的字段中. 我对这里的"2"很感兴趣.

I like to return only the first number of a text stored in a column of a database table. User have put in page ranges into a field like 'p.2-5' or 'page 2 to 5' or '2 - 5'. I am interested in the '2' here.

我试图

SELECT SUBSTR(the_field, LOCATE('2', the_field, 1)) AS 'the_number' FROM the_table

,并且有效.但是,如何获得任何数字?

and it works. But how to get ANY number?

我尝试了

SELECT SUBSTR(the_field, LOCATE(REGEXP '[0-9], the_field, 1)) AS 'the_number' FROM the_table

但是这次我得到一个错误.

but this time I get an error.

有什么想法吗?

推荐答案

只需使用 REGEXP_SUBSTR():

SELECT REGEXP_SUBSTR(`the_field`,'^[0-9]+') AS `the_number` FROM `the_table`;

注意:

  • 我正在使用MySQL Server v8.0.
  • 此模式假定已修剪the_field.否则,请先使用TRIM().
  • I'm using MySQL Server v8.0.
  • This pattern assumes that the_field is trimmed. Otherwise, use TRIM() first.
  • 更多推荐

    如何使用MySQL查询在文本字段中找到第一个数字?

    本文发布于:2023-10-27 18:50:34,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1534236.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:第一个   字段   如何使用   文本   数字

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!