我有一个如下所示的表格
我想创建 two new binary columns
表明主题是否有 steroids
和 aspirin
。我希望在 Postgresql and google bigquery
中实现这一点
我尝试了以下但它不起作用
select subject_id
case when lower(drug) like ('%cortisol%','%cortisone%','%dexamethasone%')
then 1 else 0 end as steroids,
case when lower(drug) like ('%peptide%','%paracetamol%')
then 1 else 0 end as aspirin,
from db.Team01.Table_1
SELECT
db.Team01.Table_1.drug
FROM `table_1`,
UNNEST(table_1.drug) drug
WHERE REGEXP_CONTAINS( db.Team01.Table_1.drug,r'%cortisol%','%cortisone%','%dexamethasone%')
我希望我的输出如下所示
原文由 The Great 发布,翻译遵循 CC BY-SA 4.0 许可协议
以下是 BigQuery 标准 SQL
如果适用于您的问题的样本数据 - 结果是
注意:我使用的是
LIKE on steroids
而不是简单的 LIKE 以冗长和冗余的文本结尾 - 这是 REGEXP_CONTAINS