当前位置: 首页 > 面试题库 >

在第二个和第三个逗号之间获取值

雍兴修
2023-03-14
问题内容

我试图从所有内容都在一个列中的地址中提取状态,这是一个示例:

2901 MAIN ST,CORNING,NY,14830

我一直在尝试找出如何使用substrinstr一起做,但是我似乎无法掌握instr。这是我到目前为止的内容:

select substr('hello,hello,NY,11725-1234',1,instr('hello,hello,NY,11725-1234',',',2,3))
from dual;

我以为它会从第二个逗号开始,到第三个逗号结束,并且让我的所有内容介于两者之间,但事实并非如此。

任何帮助表示赞赏。


问题答案:
select 
  regexp_substr('2901 MAIN ST,CORNING,NY,14830', '(.*?,){2}(.*?),', 1, 1, '', 2) 
from dual

一般来说,

n_th_component := 
  regexp_substr(string, '(.*?,){'||(n-1)||'}([^,]*)', 1, 1, '', 2);

例子:

select 
  n,  
  regexp_substr('2901 MAIN ST,CORNING,NY,14830', 
                '(.*?,){'||(n-1)||'}([^,]*)', 1, 1, '', 2)
from (select level n from dual connect by level <= 4)


 类似资料:
  • 问题内容: 我有一个覆盖String的方法,该方法以以下格式返回String: 我想将字符串内容分为两部分: 第一个逗号前的字符串和 第一个逗号后的字符串 我的主要方法是: 现在如何将字符串分成两部分,以便可以使用它们将文本设置为两个不同的部分? 问题答案: 您可以使用以下代码段

  • 问题内容: 我有以下字符串: 我怎么只能选择?第三个逗号之前的字符串长度可能会有所不同,并且内可能会有逗号。 我想要尽可能简洁的代码,即最好是1行代码,没有循环。但是,请随时发布您想到的任何解决方案。 问题答案: 我只是想出了一些可行的方法:

  • 第二课: 画第一个三角形 这将又是一篇长教程。 用OpenGL 3实现复杂的东西很方便;为此付出的代价是,画一个简单的三角形变得比较麻烦。 不要忘了,定期复制粘贴,跑一下代码。 如果程序启动时崩溃了,很可能是你从错误的目录下运行了它。请仔细地阅读第一课中讲到的如何配置Visual Studio! 顶点数组对象(VAO) 你需要创建一个顶点数组对象,并将它设为当前对象(细节暂不深入): GLuint

  • 部署项目后,当客户机第一次向TestServlet发送请求时,server会创建TestServlet对象,然后调用第一个init()方法(init(ServletConfig config))。然后JVM检查TestServlet中的第一个init()方法,因为它不可用,然后它检查超级类HttpServlet,第一个init方法也不可用,然后JVM检查HttpServlet的超级类,即Gener

  • 所以我写了一个代码,显示列表中重复次数最多值和重复时间。但是我不知道如何显示第二个,第三个等重复值。如果您提供帮助,将不胜感激。 代码如下:

  • 问题内容: 请建议是否有API支持来确定我的时间是否在2个实例之间,或者建议采用其他方法。 我有这个实体: 它存储工作日的开始和结束时间,即从“ 9:00”到“ 17:00”,或者从“ 22:00”到“ 5:00”的夜总会。 我需要实现一种确定该场所在给定时间是否开放的方法。 一个简单的/ 在这里不起作用,因为我们还需要确定结束时间是否在第二天。 当然,我们可以比较开始时间和结束时间并做出决定,但