Oracle REGEX_SUBSTR,从字符串中提取数字

hgb9j2n6  于 2023-05-30  发布在  Oracle
关注(0)|答案(1)|浏览(218)

我有这样的字符串:

  1. FR_OTC 0 THB本地10 GB 10400601 15天T2 T
  2. FR_OTC 0 THB本地10 GB 1天T2 T
    要求是提取天数[从15天或1天]。我尝试使用regexp_substr(str,'[(0-9)]+[?=Days]')。但是输出为15 D或1D。
ltqd579y

ltqd579y1#

你可以用

regexp_substr('FR_OTC 0 THB Local 10GB 1Day T2T','(\d+)Day', 1, 1, NULL, 1)

(\d+)Day捕获Day字符串之前的一个或多个数字,最后一个1参数告诉regexp_substr返回组1值。
如果您知道Day必须以区分大小写的方式匹配,则可以使用'c'选项代替NULL

相关问题