我在给定列中有逗号分隔的文本.有没有办法得到最后一个,倒数第二个和第三个值?
select mnumber from mytable limit 2;
x, y, z, 1, 2, 3
a, b, c, d, e, f, g, h, 7, 8, 9
Run Code Online (Sandbox Code Playgroud)
从此列返回的值应如下所示...
col3, col2 col1
1 2 3
7 8 9
Run Code Online (Sandbox Code Playgroud)
这不起作用:
split_part(mnumber,',',-1) as last_col
Run Code Online (Sandbox Code Playgroud)
如果在split_part函数中允许减去值,它将返回我需要的内容.
sha*_*nuo 13
select reverse(split_part(reverse(message), ',', 3)) as third_last ,
reverse(split_part(reverse(message), ',', 2)) as second_last ,
reverse(split_part(reverse(message), ',', 1)) as my_last ,
message from my_table
Run Code Online (Sandbox Code Playgroud)
这将为您提供该列的最后一个值
select SPLIT_PART(mnumber, ',', (len(mnumber)/2+1)) from mytable
Run Code Online (Sandbox Code Playgroud)
这将给出该列的倒数第三个值
select SPLIT_PART(mnumber, ',', ((len(mnumber)/2)-1)) from mytable
Run Code Online (Sandbox Code Playgroud)
这将给出该列的倒数第二个值
select SPLIT_PART(mnumber, ',', (len(mnumber)/2)) from mytable
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1713 次 |
| 最近记录: |