仅where子句中的列名

  • 本文关键字:where 子句 sql presto
  • 更新时间 :
  • 英文 :

with preparation as(
select a,
b,
c,
regexp_like(a, 'example1|example2') as example
from database_X
)
select *
from preparation
where example

我有一个类似上面的查询,它似乎得到了正确的结果。然而,我不明白在where子句中如何只使用列名。有人能解释一下它是如何工作的吗?或者请我参阅任何解释逻辑的文章或东西?

WHERE子句需要一个布尔条件,而regexp_like返回一个布尔值,基本上就是这样。即,任何产生布尔值的表达式都对WHERE有效,例如:

select * 
from table
where true

select * 
from table
where 1=1

REGEXP_LIKE返回布尔值,因此您可以使用"示例";在where条件下。它与是相同的查询(但更短(

with preparation as(
select a,
b,
c,
regexp_like(a, 'example1|example2') as example
from database_X
)
select *
from preparation
where example is true

相关内容

  • 没有找到相关文章

最新更新