google-bigquery - bigquery 命令按位置拆分列
问题描述
如何在bigquery中按位置拆分列
在这里,我有一列这样的出生日期
19900311
20071103
19930802
19840130
19790206
19940301
我只需要得到年份,所以需要使用子字符串函数来获取位置0,4
有人可以帮我正确的命令吗
解决方案
以下是 BigQuery 标准 SQL
您可以使用 SUBSTR 函数,如下例所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT '19900311' date_of_birth UNION ALL
SELECT '20071103' UNION ALL
SELECT '19930802' UNION ALL
SELECT '19840130' UNION ALL
SELECT '19790206' UNION ALL
SELECT '19940301'
)
SELECT date_of_birth, SUBSTR(date_of_birth, 1, 4) year_of_birth
FROM `project.dataset.table`
结果
Row date_of_birth year_of_birth
1 19900311 1990
2 20071103 2007
3 19930802 1993
4 19840130 1984
5 19790206 1979
6 19940301 1994
推荐阅读
- java - 使用keytool的密钥对和自签名证书之间的区别?
- c# - 通过代理使用 UnityWebRequest 的 REST 连接
- sql-server - sql将月份布尔字段保存为整数以进行按位操作
- ruby - 从 Array.product 填充的 Ruby Hash 产生意外行为
- powershell - 使用 powershell 从 ARM 模板 (.json) 中删除不需要的内容
- hybris - 将自定义后台扩展依赖项添加到另一个(外观)扩展时出现问题
- javascript - 使用 javascript 创建一个新的 Phabricator 任务
- ios - 仅在 iPhone 7 之前的设备上使用前置摄像头时崩溃
- kiwi-tcms - 关于备份kiwi-tcms数据库的一些问题
- swagger-ui - swagger-ui - 打开 api 3,multipart/form-data 数组问题