yyyymm是tbl表中的一列,采用字符串格式,看起来像202212
,意思是Dec 2022
当我使用下面的查询时,它在tbl_new
表中创建了一个名为sample_date
的新列,输出为2022-12-01
。
正如你所看到的,我正在添加01
日期,我需要它是15
。有什么办法可以让我自己定制日期吗?
我尝试添加%Y%m15
,但它不支持,并在BigQuery中给出invalid literal
错误。
电流输出:2022-12-01
预期输出:2022-12-15
CREATE or replace TABLE
project_id.dataset_id.tbl_new
PARTITION BY
sample_date AS
SELECT
*,
PARSE_DATE('%Y%m',yyyymm) AS sample_date
FROM
project_id.dataset_id.tbl
使用DATE_ADD函数,我能够获得所需的结果。默认情况下,PARSE_DATE将01
作为日期,使用INTERVAL
子句,我能够实现所需的输出。
CREATE or replace TABLE
project_id.dataset_id.tbl_new
PARTITION BY
sample_date AS
SELECT
*,
***DATE_ADD(PARSE_DATE('%Y%m',yyyymm), INTERVAL 14 DAY) as sample_date***
FROM
project_id.dataset_id.tbl