如下图所示,请你帮我增加一下,我真的是lost.The官方教程还不清楚。我只是个菜鸟,只是想学习。实际
+------------+
| date |
+------------+
| 2015-06-01 |
| 2015-06-02 |
| 2015-06-03 |
| ... |
| 2016-07-11 |
+------------+期望的
+------------+
| date |
+------------+
| 2016-06-01 |
| 2016-06-02 |
| 2016-06-03 |
| ... |
| 2017-07-11 |
+------------+发布于 2020-02-10 08:37:41
根据文档,您可以使用DATE_ADD()函数,它将指定的时间间隔添加到日期。语法是:
DATE_ADD(date_expression, INTERVAL INT64_expr date_part)注意,表达式中的第一个参数是日期,第二个参数是INT64。因此,如果您的字段不是日期格式,则可以使用CAST()将其解析为日期格式。
查询语法如下:
SELECT DATE_ADD(CAST(your_field as DATE), INTERVAL 1 YEAR) AS date_increased
FROM table_source另一种方法是使用UPDATE方法,您可以阅读更多关于这里的内容。此方法直接在源表中更新选定的field_values。您的语法如下:
UPDATE
`source_table`
SET
date_field = DATE_ADD(date_field, INTERVAL 1 year)
WHERE
TRUE注意,这两个方法之间的区别在于第一个方法创建了一个新视图,第二个方法修改了源表。
发布于 2020-02-10 07:48:22
语法是:
SELECT DATE_ADD(DATE "2015-06-01", INTERVAL 1 YEAR) as one_year_later;发布于 2020-02-10 08:24:53
我想出来了,也许不是最理想的方法。回答是为了让其他面临同样障碍的人能够提到这一点。
更新
[table_name]set your_col_date=cast( CONCAT('2020',SUBSTR(cast(your_col_date作为字符串),5)为日期),其中_col_date>2018-01-01;
https://stackoverflow.com/questions/60145319
复制相似问题