im Google-BigQuery, ich brauche die Zeichenfolge zu ziehen, die zwischen Domäne ** und **, wie im Beispiel unten Die Zeichenfolge ist unter der Rubrik „Site_Data“eine Teilzeichenkette aus einer Zeichenkette
Can jemand hilft mir? 10x!
im Google-BigQuery, ich brauche die Zeichenfolge zu ziehen, die zwischen Domäne ** und **, wie im Beispiel unten Die Zeichenfolge ist unter der Rubrik „Site_Data“eine Teilzeichenkette aus einer Zeichenkette
Can jemand hilft mir? 10x!
Siehe Beispiel unten
#standardSQL
WITH yourTable AS (
SELECT '756-1__6565656565656, tagtype**unmapped,domain**www.sport.com,userarriveddirectly**False' AS Site_Data
)
SELECT
REGEXP_EXTRACT(Site_Data, r'domain\*\*(.*)\*\*') AS x,
Site_Data
FROM yourTable
alle Saiten zu tun haben, dass Format? Es gibt ein paar verschiedene Optionen, vorausgesetzt, dass Sie immer die dritte Zeichenfolge nach dem **
Trennzeichen benötigen.
1) Verwenden Sie SPLIT
, zB:
#standardSQL
WITH SampleData AS (
SELECT '756-1__67648582789116,tagtype**unmapped,domain**www.sport.com,userarriveddirectly**False' AS site_data
)
SELECT SPLIT(site_data, '**')[OFFSET(2)] AS visit_type
FROM SampleData;
2) Verwenden Sie REGEXP_EXTRACT
, zB:
#standardSQL
WITH SampleData AS (
SELECT '756-1__67648582789116,tagtype**unmapped,domain**www.sport.com,userarriveddirectly**False' AS site_data
)
SELECT REGEXP_EXTRACT(site_data, r'[^\*]+\*\*[^\*]+\*\*([^\*]+)') AS visit_type
FROM SampleData;
dies noch einen Schritt machen, wenn Sie die Domain und die Ankunft Typ aufgeteilt, Sie können SPLIT
wieder verwenden:
#standardSQL
WITH SampleData AS (
SELECT '756-1__67648582789116,tagtype**unmapped,domain**www.sport.com,userarriveddirectly**False' AS site_data
)
SELECT
SPLIT(visit_type)[OFFSET(0)] AS domain,
SPLIT(visit_type)[OFFSET(1)] AS arrival_type
FROM (
SELECT SPLIT(site_data, '**')[OFFSET(2)] AS visit_type
FROM SampleData
);
10x Mikkhai! es funktionierte :) –