我想在bigquery中将和
之类的字符串“比较”在一起,所以我正在做
SELECT
...
WHERE
text1 != RPAD(text2, LENGTH(text1), SUBSTR(text2, 1, 1))
不幸的是我得到了错误
Third argument must be const, non-null and of type string
我真的想检查 text1 = text2 +一些重复的字符,而不仅仅是子字符串
我不想修剪text1以将其与text2进行比较(除非我可以检查text1的其余部分是否为text2中第一个字符的重复序列)。
有什么解决方案?
答案 0 :(得分:2)
以下是BigQuery标准SQL
WHERE text1 != CONCAT(text2, REPEAT(SUBSTR(text1, LENGTH(text2), 1), LENGTH(text1) - LENGTH(text2)))
您可以使用下面的虚拟示例进行测试
#standardSQL
WITH `project.dataset.table` AS (
SELECT '' text1, '' text2 UNION ALL
SELECT '1', ''
)
SELECT *
FROM `project.dataset.table`
WHERE text1 != CONCAT(text2, REPEAT(SUBSTR(text1, LENGTH(text2), 1), LENGTH(text1) - LENGTH(text2)))
结果是
Row text1 text2
1 1
您可以看到第一行由于repeated character
而被滤除
答案 1 :(得分:0)
如何使用like
?
where text2 like concat(text1, '%')