2016-07-14 2 views
0

bigqeury에서 다음 쿼리를 실행할 때 결과가 없습니다. 나는 결과를 얻을 수Bigquery SELECT * FROM table where column = 'string'어떤 값도 반환하지 않습니다.

SELECT COUNT(*) FROM raw.bicc_customers WHERE sub_type LIKE "%SUD%" 

을 실행할 때

SELECT COUNT(*) FROM raw.bicc_customers WHERE sub_type = "SUD" 

나는, 그러나 어떤 결과

을하지 않습니다. 내가 찾고있는 분야는 공백이없는 SUD입니다. 왜 내가 와일드 카드가 필요한지 이해할 수 없습니다. 내가 뭘 놓치고 있니?

편집 :

그래서 열이 실제로 테이블에서 "SUD는"- 어떻게 와일드 카드없이 찾을까요?

+0

는 "SUD는"주변에 공백이나 숨겨진 문자가 가능인가요 사용하여 작은 따옴표 - 자세한 내용

SELECT COUNT(*) FROM raw.bicc_customers WHERE sub_type = "\"SUD\"" 

옵션 2 Escaping special characters in strings 참조 그것? – William

+0

'SUD' 전후에 공백/특수 문자가없는 것이 확실합니까? – Siyual

+0

'LIKE'을 사용하여 반환 된 값에'LENGTH()'를 실행 해보십시오. 아마도 3 자 이상이라는 것을 알게 될 것입니다. –

답변

1

그래서 열이 실제로 테이블에서 "SUD는"- 어떻게 와일드 카드없이이 을 찾을까요?

옵션 1 - 탈출 따옴표는 -

SELECT COUNT(*) 
FROM raw.bicc_customers 
WHERE sub_type = '"SUD"' 
3

너무 새롭기 때문에 의견을 추가 할 수 없습니다.

하지만 무엇이 잘못되었는지를 판단 할 때이 쿼리를 사용해보십시오.

SELECT LENGTH(sub_type) FROM raw.bicc_customers WHERE sub_type LIKE "%SUD%" 

길이 값이 모두 3보다 큰 경우 주위에 공백 문자가 있음을 알 수 있습니다.

또한이 확인 할 수 있습니다

SELECT LENGTH(sub_type) FROM raw.bicc_customers WHERE LTRIM(RTRIM(sub_type)) = "SUD" 
관련 문제