从Oracle中的15位数字/字符串中提取位置1到11和位置13

时间:2017-01-12 18:12:31

标签: oracle substring

我有一个15位数的数字,需要以数字或文本的形式存储在Oracle表中。

  1. 我是否可以根据字段(“位置1到11”+“位置13”)从表格中选择记录? 示例:如果数据为12345678901 2 3 45 ,我需要从表中选择行以提取包含值“12345678901 3 的所有行“在那个领域。

  2. 可以在Oracle中创建索引,以确保上述查询的性能与整个数据字段的正常选择查询一样好。

1 个答案:

答案 0 :(得分:0)

如果您将列存储在文本中,那么这样的事情可以解决您的问题。如果你需要单独查询,请使用第一个,否则如果你想查询第一个和第十三个使用最后一个例子。

<!DOCTYPE html>
<html>
<head>
    <title>League Builders</title>
    <%= csrf_meta_tags %>

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>

<body>
    <%= render 'layouts/navigationbar' %>
    <div class="container-fluid">
        <%= yield %>
    </div>
</body>
</html>

create index ix_firsteleven on TABLE (substr(COL, 1, 11))
create index ix_thrirteenth on TABLE (substr(COL, 13, 1))