如何切割长度未知的字符串的左侧部分? (具有 sql 功能)
How can i cut the left part of the string with unknown legth? (with sql function)
在ETL过程中,我收到一个varchar字段,并且(值的)长度逐行改变。
我需要从字符串的右侧保留 5 个符号。
这意味着我需要切割左侧,但由于长度未知,我不能。
我试过 select substring('24:15:11',4, 5)
,但对我没有帮助,字符串可能是 '2019-05-01 22:15:11'
.
sql:
select substring('24:15:11',4, 5)
预计:
15:11
您可以使用 length() 来确定 substr() 的第二个参数:
select substr('24:15:11', length('24:15:11') - 4, 5)
或者简单地说:
select substr('24:15:11', length('24:15:11') - 4)
了解 preosto 的 string functions。
您可以使用 substr
。负起始位置被解释为相对于字符串的结尾。
select substr('24:15:11', -5)
在ETL过程中,我收到一个varchar字段,并且(值的)长度逐行改变。 我需要从字符串的右侧保留 5 个符号。 这意味着我需要切割左侧,但由于长度未知,我不能。
我试过 select substring('24:15:11',4, 5)
,但对我没有帮助,字符串可能是 '2019-05-01 22:15:11'
.
sql:
select substring('24:15:11',4, 5)
预计:
15:11
您可以使用 length() 来确定 substr() 的第二个参数:
select substr('24:15:11', length('24:15:11') - 4, 5)
或者简单地说:
select substr('24:15:11', length('24:15:11') - 4)
了解 preosto 的 string functions。
您可以使用 substr
。负起始位置被解释为相对于字符串的结尾。
select substr('24:15:11', -5)