我只想从这些列中选择日期

时间:2019-04-18 07:20:34

标签: sql oracle

我只想从这些行中选择日期170522 yymmdd。

PRD.SBR.BATCH.D170522.T011726.

2 个答案:

答案 0 :(得分:0)

在Oracle中,您可以使用如下所示的内容,这将为您提供文件名字符串的第4部分:

enter code here

INSTR内部函数将找到第4个点的索引,SUBSTR将以该索引作为子串,其固定长度为7(日期部分的长度)。

样本数据的结果将是:

  

D170522

您仍然可以按照自己喜欢的方式进行格式化,例如剥离D并将其投射到实际日期...

答案 1 :(得分:0)

如果字符串始终看起来像这样,并且在您使用Oracle标签标记问题时,那么

SQL> with test (col) as
  2    (select 'PRD.SBR.BATCH.D170522.T011726.' from dual)
  3  select regexp_substr(col, '\d+') result
  4  from test;

RESULT
------
170522

SQL>

它说:给我输入字符串中的第一个“数字”。