简体   繁体   English

Big Query - 使用 CTE 断言?

[英]Big Query - Asserts with CTEs?

Is there a way to insert an 'assert' in the query below?有没有办法在下面的查询中插入“断言”? (incorrect syntax) (不正确的语法)

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

ASSERT SELECT boy FROM NAMES != 'Karl' as 'Invalid name' 

SELECT * FROM NAMES

If you don't mind adding on more column, then you can do:如果您不介意添加更多列,则可以执行以下操作:

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

SELECT *, IF(boy = 'Karl', Error('Invalid name'), NULL) AS asserts FROM NAMES

If you do, you can exclude the column like:如果这样做,您可以排除该列,如:

SELECT * EXCEPT(asserts) FROM (

WITH 

NAMES as ( SELECT 'Joe' as boy, 'Laura' as girl )

SELECT *, IF(boy = 'Joe', Error('Invalid name'), NULL) AS asserts FROM NAMES

)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM