【发布时间】:2018-10-25 23:31:52
【问题描述】:
我在 excel 中的以下查询部分不起作用。
iif(master.[Canada] is null or master.[USA] is null ,'USER','' ) as [Stackoverflow]
我是否正确地做空值?
逻辑应该
1) 如果没有加拿大或美国数据,请在 Stackoverflow 列中输入“USER”。
2) 如果加拿大或美国有数据,则 Stackoverflow 应为空。
目前我得到了什么:
+-----------+--------------+---------------+
| Canada | USA | Stackoverflow |
+-----------+--------------+---------------+
| | | |
| | | |
| 912796NZ8 | | |
| | | |
| | US912796NZ81 | |
| | | |
| 912796NZ8 | US912796NZ81 | |
| 912796NZ8 | US912796NZ81 | |
| 912796qd4 | US912796QD43 | |
| 298785HB5 | US298785HB50 | |
+-----------+--------------+---------------+
我的期望:
+-----------+--------------+---------------+
| Canada | USA | Stackoverflow |
+-----------+--------------+---------------+
| | | USER |
| | | USER |
| 912796NZ8 | | |
| | | USER |
| | US912796NZ81 | |
| | | USER |
| 912796NZ8 | US912796NZ81 | |
| 912796NZ8 | US912796NZ81 | |
| 912796qd4 | US912796QD43 | |
| 298785HB5 | US298785HB50 | |
+-----------+--------------+---------------+
将查询更改为iif(TRIM(master.[Camada]) = '' OR TRIM(master.[USA]) = '','USER', '') as [Stackoverflow]后
它做得很好,除了现在我还有一些加拿大和美国的数据给我USER。
+-----------+-----+---------------+
| Canada | USA | Stackoverflow |
+-----------+-----+---------------+
| 62941ZPA6 | | USER |
| 62943Z4R0 | | USER |
| 62945ZLQ1 | | USER |
| 62950ZZE5 | | USER |
| 75585RLK9 | | USER |
| 00433JAA3 | | USER |
| 13509PEV1 | | USER |
| 13509PEZ2 | | USER |
| 62931ZLX2 | | USER |
| 62941Z8M9 | | USER |
| 62941ZYK4 | | USER |
| 62942ZV42 | | USER |
| 62943Z6T4 | | USER |
| 62946Z6Y0 | | USER |
| 62947ZWC8 | | USER |
| 62948ZTJ6 | | USER |
| 62949ZE51 | | USER |
| 75585RLK9 | | USER |
| 75585RMB8 | | USER |
| 75585RMW2 | | USER |
+-----------+-----+---------------+
这 20 条记录不应该有 USER。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
@Parfait 谢谢!您的
master.[Canada] = ''工作了,您要回答吗?