sql - 如何切割长度未知的字符串的左侧部分? (带sql函数)

标签 sql presto 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

最佳答案

您可以使用 substr .负起始位置被解释为相对于字符串的结尾。

select substr('24:15:11', -5)

关于sql - 如何切割长度未知的字符串的左侧部分? (带sql函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56163022/

相关文章:

c# - LINQ 的复杂 SQL 子查询

Presto Cassandra 连接器 : number of connections

sql-server - 在 SQL Server 中连接不同的列值

sql - DECLARE 子句中的 PostgreSQL 函数语法错误

sql - 是否可以取消关联所有相关的 SQL 子查询?

java - ORA-01810 : format code appears twice : jdbctemplate

MySQL 从 600K 行中快速选择 10 个随机行

mysql - 在 AWS Athena 中查询第一个非空值的动态 JSON 字段

hadoop - Presto 查询无法将数据插入 Hive

sql - 返回最后 2 个数字大于 INT 数据类型特定值的函数