繁体   English   中英

如何在标准 SQL (Google BigQuery) 中将字符串拆分为两个单独的列?

[英]How do I split a string into two separate columns in Standard SQL (Google BigQuery)?

我有一列包含长度和宽度的测量值。 此列中的每个条目都以 lxw 的形式编写。 我需要将此列分成两列,一列是长度,另一列是宽度。 请看下面:

这是我原来的名为“大小”的专栏:

尺寸
930x570
1460x700
4x7

我想将“大小”转换为“长度”和“宽度”列,如下所示:

长度 宽度
930 570
1460 700
4 7

下面使用

select 
  split(size, 'x')[offset(0)] as length,
  split(size, 'x')[offset(1)] as width
from your_table     

如果应用于您问题中的示例数据 - output 是

在此处输入图像描述

您可以使用split()

select t.*,
       split(size, 'x')[ordinal(1)] as length,
       split(size, 'x')[ordinal(2)] as width
from t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM