我有一个在案例陈述中需要选择的字符串:
LLF_RET_mob
但是,当我在SQL的LIKE语句中使用以下字符串:'%LLF \ _RET _ \ _ mob%'时,它返回null。此通配符使用正确的语法是什么?
您应使用'%LLF\\_RET\\_mob%'
,如下例所示>>
#standardSQL WITH `project.dataset.table` AS ( select 1 id, 'aaaLLF_RET_mobbbb' col union all select 2, 'aaaLLFRETmobbbb' ) SELECT * FROM `project.dataset.table` WHERE col LIKE '%LLF\\_RET\\_mob%'
或者您也可以在下面的示例中使用regexp
#standardSQL WITH `project.dataset.table` AS ( SELECT 1 id, 'aaaLLF_RET_mobbbb' col UNION ALL SELECT 2, 'aaaLLFRETmobbbb' ) SELECT * FROM `project.dataset.table` WHERE REGEXP_CONTAINS(col, r'LLF_RET_mob')
显然,您可以在CASE语句中同时使用LIKE或REGEXP_CONTAINS作为条件