문제

나를 보고 아주 기괴한 행동과 REGEXP_MATCH 기능 구글에서 큰 쿼리가 있습니다.함수가 완벽하게 잘 작동을 위한 공공데이터만이 작동하지 않습니합니다.나는 집합에서 가져온 csv 첫번째 두 줄이(첫 번째는 헤더를 행하는 모든이 스키마 모든 것이 문자열),이 더 많이 있지만 다음과 같은 관련 데이터만을 위해 이 경우입니다.

"id","common_name","botanical_name","low_hardiness_zone","high_hardiness_zone","type","exposure_min","exposure_max","moisture_min","moisture_max"
"plant1","Abelia","Abelia zanderi 'Conti (Confetti)'","5b","9a","Shrub","Partial Sun","Full Sun","Dry","Dry"

때 나는 쿼리를 실행:

SELECT * FROM [PlantLink_Plant_Types.plant_data_set] 
WHERE REGEXP_MATCH('common_name',r'.*')

나는 모든 결과입니다.

그러나 때,나는 쿼리를 실행:

SELECT * FROM [PlantLink_Plant_Types.plant_data_set] 
WHERE REGEXP_MATCH('common_name',r'A.*')

나 얻는 결과가 없잖아요 공장 때문에 일반적인 이름은 아벨리아로 시작 A.

지금 내 regex 마법은 강하지 않지만,나는 확신 패턴이 잘못 되지 않습니다.이 밖에 나가 실행중 데이터 집합 쿼리 테스트 REGEXP_MATCH 그들이 올바르게 실행됩니다.누군가가 어떤 단서를 이유 REGEXP_MATCH 항상 기능으로 광고?

도움이 되었습니까?

해결책

참고:

  • REGEXP_MATCH('common_name'r'.*') 문자열과 일치하는'common_name'

  • REGEXP_MATCH(common_name,r'.*') 경기 필드에서 당신의 테이블 common_name

1 하나는 항상 진실하고 따라서 당신은 시설과 서비스를 제공합니다.나는 당신을 원하는 참조의 콘텐츠 필드,그래서 당신은 당신을 사용할 필요가 두 번째 하나입니다.

  • REGEXP_MATCH(common_name,r 아.*') 반환해야하는 모든 레코드 필드 common_name 담"A".

이게 도움이 되었으면 좋겠습니다.

다른 팁

문제는 문자열'common_name'하지 않을 시작으로'A'.

이를 확인:

  • REGEXP_MATCH('common_name',r'.*'):는 모든 결과입니다.
  • REGEXP_MATCH('common_name',r'A.*'):결과가 없습니다.
  • REGEXP_MATCH('common_name',r'c.*'):는 모든 결과입니다.
  • REGEXP_MATCH(common_name,r'A.*'):하는 모든 결과는 어딘가에 있는'A'.

:)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top