Google bigquery 使用CONCAT函数返回正确的值

Google bigquery 使用CONCAT函数返回正确的值,google-bigquery,Google Bigquery,好吧,假设我使用CONCAT函数,对吗 所以我在一个名为“开始日期”的字段中有一个日期。看起来像是2016-02-07 接下来,我对子查询to do MONTH(start_date)作为start_MONTH,年份(start_date)作为start_YEAR。很明显,起始月将返回02,起始年返回2016 现在让我们假设我想结合这两个,所以它说2016年2月。如果我只是这样做: CONCAT('start_month','/','start_year')返回start_month/start

好吧,假设我使用CONCAT函数,对吗

所以我在一个名为“开始日期”的字段中有一个日期。看起来像是2016-02-07

接下来,我对子查询to do MONTH(start_date)作为start_MONTH,年份(start_date)作为start_YEAR。很明显,起始月将返回02,起始年返回2016

现在让我们假设我想结合这两个,所以它说2016年2月。如果我只是这样做:

CONCAT('start_month','/','start_year')返回start_month/start_year,如果执行CONCAT(start_month',/',start_year),则返回错误:CONCAT:第一个参数的类型为int64,但应为字符串或字节类型

那么,我做错了什么?我该如何解决这个问题?此外,是否有一种简单的方法可以将数字月份转换为其实际名称(即02变为2月)?如果没有简单的方法,那也不是什么大问题

来自问题:显然,开始月份将返回02,开始年份 2016年回归

否-它们将分别返回2和2016,并作为整数而不是字符串返回-请参阅和/或的更多信息

因此,您应该将月份和年份值强制转换为

例如,
CONCAT(字符串(起始月),“/”,字符串(起始年))

更好的方法如下所示

有关更多详细信息,请参阅

有没有一种简单的方法可以将数字月份转换为数字月份 实际姓名(即02年2月)


重要提示-您可以使用投递答案左侧投票下方的勾号
标记接受答案
。看看为什么它很重要!对答案进行投票也很重要。投票选出有帮助的答案。还有更多。。。当有人回答你的问题时,你可以检查一下该做什么。
SELECT STRFTIME_UTC_USEC('2016-02-07', "%m-%Y")
SELECT STRFTIME_UTC_USEC('2016-02-07', "%B")