2014-04-05 24 views
9

A seguito della mia interrogazione:Possiamo trasmettere il tipo in BigQuery?

SELECT SQRT((D_o_latitude - T_s_lat)^2+(D_o_longitude - T_s_long)^2)/0.00001 FROM [datasetName.tableName]

sto ottenendo l'errore come Errore: Tipo di argomento non corrispondente nella funzione SOTTRAI: 'D_o_latitude' è di tipo stringa, 'T_s_lat' è di tipo stringa

per cui vorrei sapere lattina convertiamo il tipo stringa di galleggiare nella query qualche cosa come lanciare il tipo di dati, non posso cambiare il tipo di dati

risposta

13

Sotto eredità SQL, è possibile lanciare i tipi di BigQuery utilizzando le seguenti funzioni: INTEGER(), STRING(), BOOLEAN()TIMESTAMP(), e FLOAT().

Usa cast() per SQL standard (vedere la risposta di opensourcegeek).

Nel tuo caso, si potrebbe scrivere:

SELECT SQRT((INTEGER(D_o_latitude) - T_s_lat)^2+(INTEGER(D_o_longitude) - T_s_long)^2)/0.00001 
FROM [datasetName.tableName] 
+5

Questo funziona solo per SQL Legacy di BigQuery, non per il loro ultimo standard SQL. Usa CAST come discusso di seguito per SQL standard. – Praxiteles

Problemi correlati