2012-10-11 13 views

risposta

12

È possibile utilizzare la funzione REGEXP_MATCH (vedere il riferimento interrogazione page): REGEXP_MATCH ('str', 'reg_exp')

Invece di usare la sintassi% usato da COME, si consiglia di utilizzare le espressioni regolari (dettagliato sintassi definizione here)

+0

può spiegare meglio un po 'di più sulla funzione CONTAINS di bigquery. come funziona. –

0

REGEXP_MATCH è grande se si sa come usarlo, ma per coloro che non sono sicuro che non ci sarà alcun carattere speciale di uso comune come ' '' $' o '? ' nella stringa di ricerca, è possibile utilizzare LEFT('str', numeric_expr) o RIGHT('str', numeric_expr). cioè se si ha un elenco di nomi e voleva tornare a tutti coloro che sono come 'sa%' devi usare:

select name from list where LEFT(name,2)='sa'; (con 2 essendo la lunghezza del 'sa')

Inoltre, se si voleva dire dove i valori di una colonna sono come un altro, si potrebbe scambiare il 2 per LENGTH(column_with_lookup_strings) e ='sa' per =column_with_lookup_strings, lasciandola cercando qualcosa di simile:

select name from list where LEFT(name,LENGTH(column_with_lookup_strings))= column_with_lookup_strings;

https://cloud.google.com/bigquery/query-reference

Problemi correlati