如何 select 具有两个列值之一的行不能为空?

How to select rows with one of two column values can't be null?

例如:

hive> select mid, tag1, tag2, dt from message_use_tags where dt="20211107" and (tag1 != '' or tag2 != 'NULL') limit 50;

我要指定:

  1. 日期='20211107'

  2. tag1 和 tag2 不能同时为空字符串。其中之一可以为空。然而,以下并没有达到目的:

    tag1 != '' 或 tag2 != 'NULL'

结果集中有tag1和tags都是空字符串的行。如何修改语句得到想要的结果?

hive> select mid, tag1, tag2, dt from message_use_tags where dt="20211107" and (tag1 != '' or tag2 != 'NULL') and (tag1 != '' and tag2 != '') limit 50;