根据模式匹配移除

Remove according to the pattern matching

当前原始数据:

1-2-05.11
1-15-05.20

如何在 . 之后删除。预期结果是 1-2-05. 我使用 split_part 和子字符串进行测试,但结果不符合要求。 有什么建议吗?

试试这个,我假设你的预期输出是 1-2-05.(with .)

使用 split_part()。

SELECT SPLIT_PART('1-2-05.11','.',1)||'.';

使用 substring()。

SELECT SUBSTRING('1-15-05.20', 1, LENGTH('1-15-05.20') - 2)  
  • 1是字符串(1-15-05.20)的起始位置(从左),子字符串将在其中进行操作

  • LENGTH('1-15-05.20') - 2,是定义要从给定的string.The字符串中提取的字符数是1-15-05.20它的length()10,您需要从这 10 个字符中删除 最后两个 个字符,因此 10 - 2 即 LENGTH('1-15-05.20') - 2