我有一个包含多个字段的 sql 表,包括(但不限于以下):member_id、visit_date(日期时间格式,例如:2016-01-01)、visit_yr_qtr(作为字符串,例如:2016_Q1)、purchase_item(ID number)和 item_price(美元)。
我想提取这些字段,但也包括 year_month(2016-1 月或 2016-01)作为输出中的新字段。这是我尝试做但没有成功的:
select member_id, visit_date, visit_yr_qtr, purchase_item, item_price,
EXTRACT(year_month, visit_date)
FROM <table name>
有人可以建议一种从输出的 visit_date 列中提取 year_month 的方法吗?
最佳答案
EXTRACT 的语法是
EXTRACT( <date_or_time_part> FROM <date_or_time_expr> )
并且在<date_or_time_part>
之中是year
和 month
所以得到yearmonth
你需要 2 个提取物。
CONCAT(EXTRACT(year FROM visit_date),'-', LPAD(EXTRACT(month FROM visit_date), 2, 0))
TO_CHAR(visit_date,'YYYY-MM')
关于sql - 从日期列中提取 year_month 以及 sql 表中的其他列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70778320/