2017-07-03 4 views
0

Actuellement, c'est mon code dans Google BigQueryRecadrage/tronquant la lettre de peur que de valeurs de données dans 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 

Cependant, je ne reçois pas toutes les valeurs parce que certaines des valeurs « SERIAL_NUMBER » se terminer par un ' A 'ou' B ', tandis que les valeurs "série" ne le font pas. Que faire pour couper les valeurs de chaque numéro de série après 5 caractères ou tronquer les valeurs pour supprimer le dernier caractère.

Répondre

1

Est-ce que cela fonctionne?

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+')