根据模式匹配移除
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
当前原始数据:
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