Google bigquery 大查询-水平连接字符串

Google bigquery 大查询-水平连接字符串,google-bigquery,string-concatenation,Google Bigquery,String Concatenation,我有一个数据,其中一列是名字,一列是姓氏。 我尝试通过代码将它们组合成一列: SELECT GROUP_CONCAT_UNQUOTED(full_name,' ') from (Select first_name as check from [DATA]), (select last_name as check from [DATA]) 但它返回一个带有 安娜·亚历克斯·艾玛·肖恩。。。。米勒·史密斯·怀特 但我想要的其实是一个像这样的专栏 Anna Miller Alex S

我有一个数据,其中一列是名字,一列是姓氏。 我尝试通过代码将它们组合成一列:

SELECT GROUP_CONCAT_UNQUOTED(full_name,' ') 
from (Select first_name as check from [DATA]), 
     (select last_name  as check from [DATA])
但它返回一个带有

安娜·亚历克斯·艾玛·肖恩。。。。米勒·史密斯·怀特

但我想要的其实是一个像这样的专栏

Anna Miller
Alex Smith
Emma White
...
你能告诉我我该怎么做吗? 谢谢

您需要使用和微调功能

SELECT CONCAT(rtrim(ltrim(first_name)),' ',rtrim(ltrim(last_name))) AS full_name
FROM
  (SELECT 'Anna' AS first_name,
          ' Miller ' AS last_name),

您还可以使用双管
|
连接运算符连接字符串():


谢谢,它在大多数情况下都有效,但是如果first_name或last_name的值为null,它将返回null。我尝试使用string(first_name),但它保持为空。我希望它会返回,例如Sean null或Sean NoName。您需要添加
IFNULL(first_name,'null')
IFNULL(first_name,'NoName')
还可以选择RTRIM(LTRIM(first_name))+''+RTRIM(LTRIM(last_name))工作(+而不是CONCAT)
select 
    trim(first_name) || ' ' || trim(last_name)
from
    ...