2017-07-03 26 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+')