【问题标题】:Regular Expressions sql oracle to ensure that order number entered into the database in a standard format正则表达式 sql oracle 保证订单号以标准格式输入数据库
【发布时间】:2021-09-22 19:17:14
【问题描述】:

我正在尝试选择一个字符串字段(包含类似 LOREM 的文本),它的订单号具有特定数量的字符(1 位和 11 位数字),但是,不知道这样做。

如何编写只返回 13 位数字 (4-70000000000) 订单的 SQL 查询?

select 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Minima porro, hic deleniti pariatur quaerat eligendi mollitia 4-70000000000 (praesentium)'
    from dual;

【问题讨论】:

    标签: sql oracle oracle-sqldeveloper


    【解决方案1】:

    您可以使用regexp_substr()。您的号码不完全是一个数字,但这适用于您问题中的示例:

    select regexp_substr('Lorem ipsum dolor sit amet consectetur adipisicing elit. Minima porro, hic deleniti pariatur quaerat eligendi mollitia 4-70000000000 (praesentium)',
                     '[-0-9]{13}')
    from dual;
    

    【讨论】:

    • 谢谢,戈登林诺夫!顺便说一句,它就像我想的那样工作。
    猜你喜欢
    • 1970-01-01
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 2019-06-10
    相关资源
    最近更新 更多