Обрезка/Усечение самой последней строки данных в bigquery

0 W. Stephens [2017-07-03 09:42:00]

В настоящее время это мой код в Google 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

Однако я не получаю все значения, потому что некоторые из значений "Serial_Number" заканчиваются либо "A", либо "B", а "серийные" значения - нет. Что мне делать, чтобы либо обрезать значения каждого серийного номера после 5 символов, либо обрезать значения, чтобы вынуть последний символ.

trim truncate google-bigquery


1 ответ


1 Решение Willian Fuks [2017-07-04 19:08:00]

Это работает?

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