2012-10-11 25 views

Trả lời

12

Bạn có thể sử dụng chức năng REGEXP_MATCH (xem tài liệu tham khảo truy vấn page): REGEXP_MATCH ('str', 'reg_exp')

Thay vì sử dụng cú pháp% được sử dụng bởi THÍCH, bạn nên sử dụng biểu thức thông thường (chi tiết định nghĩa cú pháp here)

+0

có thể giải thích thêm một chút về chức năng chuỗi CONTAINS của bigquery. làm thế nào nó hoạt động. –

0

REGEXP_MATCH là tuyệt vời nếu bạn biết làm thế nào để sử dụng nó, nhưng đối với những người không chắc chắn sẽ không có bất kỳ ký tự đặc biệt thường được sử dụng như ' '' $' hoặc '? ' trong chuỗi tra cứu, bạn có thể sử dụng LEFT('str', numeric_expr) hoặc RIGHT('str', numeric_expr). tức là nếu bạn đã có một danh sách tên và muốn trả lại tất cả những người được LIKE 'sa%' bạn muốn sử dụng:

select name from list where LEFT(name,2)='sa'; (với 2 là chiều dài của 'sa')

Bên cạnh đó, nếu bạn muốn nói nơi các giá trị một cột của giống như của người khác, bạn có thể trao đổi trên 2 cho LENGTH(column_with_lookup_strings)='sa' cho =column_with_lookup_strings, để lại nó tìm một cái gì đó như thế này:

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

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

Các vấn đề liên quan