2017-07-03 31 views
0

目前,这是我在谷歌的BigQuery代码修剪/截断datavalues的,以免信BigQuery中

SELECT * 
FROM 
(
    SELECT 
     CAST(Serial AS integer) AS Serial, 
     Latest_Use, 
     Total_Hours, 
     Devices_Connected 
    FROM [dataworks-356fa:FirebaseArchive.PT_Results] 
) AS Model_Results 
JOIN 
(
    SELECT 
     CAST(Serial_Number AS integer) AS Serial_Number, 
     Status, 
     Model_Number 
    FROM [dataworks-356fa:FirebaseArchive.Master_List_PT] 
) AS Master_List 
    ON Model_Results.Serial = Master_List.Serial_Number 

但是我没有得到所有值,因为有些“序列号”值与最终要么一个“ A'或'B',而“串行”值则不然。我该如何修改5个字符后的每个序列号的值或截断值以取出最后一个字符。

回答

1

这是行不通的?

SELECT * 
FROM 
(
    SELECT 
     CAST(Serial AS integer) AS Serial, 
     Latest_Use, 
     Total_Hours, 
     Devices_Connected 
    FROM [dataworks-356fa:FirebaseArchive.PT_Results] 
) AS Model_Results 
JOIN 
(
    SELECT 
     CAST(Serial_Number AS integer) AS Serial_Number, 
     Status, 
     Model_Number 
    FROM [dataworks-356fa:FirebaseArchive.Master_List_PT] 
) AS Master_List 
    ON Model_Results.Serial = REGEXP_EXTRACT(Master_List.Serial_Number, r'\d+')