oracle 从字符串中删除最后一个点(.)之后的字符[重复]

1wnzp6jl  于 2023-11-17  发布在  Oracle
关注(0)|答案(2)|浏览(165)

此问题在此处已有答案

How to get the substring before the last occurrence of a character?(4个答案)
2天前关闭。
谁能告诉我如何从字符串中删除特定字符后的字符,在我的例子中是DOT(.)
我有一个字符串:

1110.400000.8001382

字符串
我需要一个SELECT查询来删除lastDOT(.)之后的所有字符
预期输出为:

1110.400000


任何帮助将不胜感激。

ioekq8ef

ioekq8ef1#

您可以使用SUBSTRINSTR函数删除最后一个点之后的所有字符。

SELECT SUBSTR('1110.400000.8001382', 1, INSTR('1110.400000.8001382', '.', -1) - 1)
AS output FROM dual;

字符串
SUBSTR函数用于提取从字符串开头到最后一个点的子字符串。INSTR函数用于查找字符串中最后一个点的位置。XNUMR函数中的-1参数告诉它搜索最后一个点。
该函数现在将输出所需的结果。

oalqel3c

oalqel3c2#

我们可以在这里尝试regex替换:

SELECT REGEXP_REPLACE('1110.400000.8001382', '\.[^.]*$', '') AS output  -- 1110.400000
FROM dual;

字符串

Demo

相关问题