我正在编写一个联接两个表的SQL查询。我所面临的问题是,我所联接的列在一个表中是blank (""," ")
,而在另一个表中是null
。
表A
| 标识符|山坳|
| - -|- -|
| 一个||
| 2个||
| 三个|新加坡|
表B
| 标识符|山坳|
| - -|- -|
| 一种|零值|
| B|零值|
| C语言|新加坡|
source_alleg = spark.sql("""
SELECT A.*,B.COL as COLB FROM TABLEA A LEFT JOIN TABLEB B
ON A.COL = B.COL
""")
对于我的用例,空值和null是一样的。我想做一些类似Trim(a.col)
的操作,它将空值转换为null
,从而找到连接中的所有匹配。输出:
| 标识符|山坳|科尔布|
| - -|- -|- -|
| 一个|空值或空白|空值或空白|
| 2个|空值或空白|空值或空白|
| 三个|新加坡|新加坡|
1条答案
按热度按时间2ic8powd1#
在sql中,除非您使用
outer join
或full join
,否则在连接过程中会忽略NULL。更多信息:https://www.geeksforgeeks.org/difference-between-left-right-and-full-outer-join/如果要将空值转换为字符串,可以使用
if