我在BigQuery中有一个带有BYTES字段的表。在每一行中,该字段包含6个字节。如何查询表,以便只返回第二个字节为A,E,2或6的行?
提前致谢,
埃弗特
答案 0 :(得分:1)
您可以使用SUBSTR
函数提取该位置的字节。以下是您可以运行的示例:
#standardSQL
WITH T AS (
SELECT b'abcdef' AS s UNION ALL
SELECT b'ABCDEF' UNION ALL
SELECT b'123456' UNION ALL
SELECT b'765432'
)
SELECT s
FROM T
WHERE SUBSTR(s, 2, 1) IN UNNEST(SPLIT(b'AE26', b''));
要使用您自己的表格,只需删除WITH T AS (...
部分即可。如果要匹配更多字符,请将它们添加到传递给SPLIT
的列表中。