Unten ist für BigQuery Standard-SQL
#standardSQL
WITH yourTable AS (
SELECT 1 AS id, 'Start -> (11/11/2016 08:24:24 AM) -> Akumar (11/11/2016 11:15:33 AM) -> Akumar (01/06/2017 08:08:44 PM) -> Akumar (01/30/2017 10:34:33 AM) -> Akumar (03/15/2017 02:10:12 PM) -> Akumar (03/23/2017 12:42:52 PM) -> Akumar (06/20/2017 12:52:27 PM) -> (06/27/2017 05:30:48 PM) -> Sneha Singh (06/28/2017 03:11:34 AM)' AS INDIVIDUAL_NAMES
)
SELECT
id,
LTRIM(SPLIT(CONCAT(' ', item), ' (')[OFFSET(0)]) AS name,
REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)') AS date_as_string,
PARSE_DATETIME('%m/%d/%Y %r', REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)')) AS date_as_datetime,
PARSE_TIMESTAMP('%m/%d/%Y %r', REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)')) AS date_as_timestamp
FROM yourTable, UNNEST(SPLIT(INDIVIDUAL_NAMES, ' -> ')) AS item
-- ORDER BY 3
oben leicht redundante Teile entfernen vereinfacht werden kann - beispielsweise als
#standardSQL
WITH yourTable AS (
SELECT 1 AS id, 'Start -> (11/11/2016 08:24:24 AM) -> Akumar (11/11/2016 11:15:33 AM) -> Akumar (01/06/2017 08:08:44 PM) -> Akumar (01/30/2017 10:34:33 AM) -> Akumar (03/15/2017 02:10:12 PM) -> Akumar (03/23/2017 12:42:52 PM) -> Akumar (06/20/2017 12:52:27 PM) -> (06/27/2017 05:30:48 PM) -> Sneha Singh (06/28/2017 03:11:34 AM)' AS INDIVIDUAL_NAMES
)
SELECT
id,
LTRIM(SPLIT(CONCAT(' ', item), ' (')[OFFSET(0)]) AS name,
date_as_string,
PARSE_DATETIME('%m/%d/%Y %r', date_as_string) AS date_as_datetime,
PARSE_TIMESTAMP('%m/%d/%Y %r', date_as_string) AS date_as_timestamp
FROM yourTable,
UNNEST(SPLIT(INDIVIDUAL_NAMES, ' -> ')) AS item,
UNNEST([REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)')]) AS date_as_string
-- ORDER BY 3
Ausgang ist als unten
id name date_as_string date_as_datetime date_as_timestamp
1 Start null null null
1 Akumar 01/06/2017 08:08:44 PM 2017-01-06T20:08:44 2017-01-06 20:08:44 UTC
1 Akumar 01/30/2017 10:34:33 AM 2017-01-30T10:34:33 2017-01-30 10:34:33 UTC
1 Akumar 03/15/2017 02:10:12 PM 2017-03-15T14:10:12 2017-03-15 14:10:12 UTC
1 Akumar 03/23/2017 12:42:52 PM 2017-03-23T12:42:52 2017-03-23 12:42:52 UTC
1 Akumar 06/20/2017 12:52:27 PM 2017-06-20T12:52:27 2017-06-20 12:52:27 UTC
1 06/27/2017 05:30:48 PM 2017-06-27T17:30:48 2017-06-27 17:30:48 UTC
1 Sneha Singh 06/28/2017 03:11:34 AM 2017-06-28T03:11:34 2017-06-28 03:11:34 UTC
1 11/11/2016 08:24:24 AM 2016-11-11T08:24:24 2016-11-11 08:24:24 UTC
1 Akumar 11/11/2016 11:15:33 AM 2016-11-11T11:15:33 2016-11-11 11:15:33 UTC
wirklich groß sein würde, wenn Sie
ein ähnliches Beispiel in Legacy-SQL vorschlagen können, können Sie unten für BigQuery Legacy-SQL
versuchen
#legacySQL
SELECT
id,
IF(name = CONCAT('(', date_as_string, ')'), '', name) AS name,
date_as_string
FROM (
SELECT
id,
NTH(1, SPLIT(item, ' (')) AS name,
REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)') AS date_as_string
FROM FLATTEN((
SELECT id, SPLIT(INDIVIDUAL_NAMES, ' -> ') AS item, INDIVIDUAL_NAMES
FROM yourTable
), item)
)
-- ORDER BY date_as_string
Sie können es mit Dummy-Daten testen Sie vorgesehen, wie unten
#legacySQL
SELECT
id,
IF(name = CONCAT('(', date_as_string, ')'), '', name) AS name,
date_as_string
FROM (
SELECT
id,
NTH(1, SPLIT(item, ' (')) AS name,
REGEXP_EXTRACT(item, r'(\d\d/\d\d/\d\d\d\d \d\d:\d\d:\d\d [AP]M)') AS date_as_string
FROM FLATTEN((
SELECT id, SPLIT(INDIVIDUAL_NAMES, ' -> ') AS item, INDIVIDUAL_NAMES
FROM (
SELECT 1 AS id, 'Start -> (11/11/2016 08:24:24 AM) -> Akumar (11/11/2016 11:15:33 AM) -> Akumar (01/06/2017 08:08:44 PM) -> Akumar (01/30/2017 10:34:33 AM) -> Akumar (03/15/2017 02:10:12 PM) -> Akumar (03/23/2017 12:42:52 PM) -> Akumar (06/20/2017 12:52:27 PM) -> (06/27/2017 05:30:48 PM) -> Sneha Singh (06/28/2017 03:11:34 AM)' AS INDIVIDUAL_NAMES
) AS yourTable
), item)
)
ORDER BY date_as_string
Es würde viel helfen, Ihre Eingabedaten zu sehen –
Bitte ein Beispiel Wert von 'INDIVIDUAL_NAMES' geben. –
Bitte bearbeiten Sie Ihre Frage, um ein [minimales, vollständiges und verifizierbares Beispiel] (http://stackoverflow.com/help/mcve) des Codes anzuzeigen, mit dem Sie Probleme haben. Dann können wir versuchen, mit dem spezifischen Problem zu helfen . Sie können auch [Wie Sie fragen] (http://stackoverflow.com/help/how-to-ask) lesen. –