在SQL中,如果你想筛选出某列中的缺失值(也就是NULL值),你可以使用WHERE
子句和IS NULL
操作符。例如,如果你想找出column_name
列中的所有缺失值,你可以使用以下查询:
SELECT * FROM table_name WHERE column_name IS NULL;
这将返回table_name
表中所有column_name
列的值为NULL的行¹。
如果你想筛选出非缺失值,你可以使用IS NOT NULL
操作符。例如:
SELECT * FROM table_name WHERE column_name IS NOT NULL;
这将返回table_name
表中所有column_name
列的值不为NULL的行¹。
请注意,你不能使用= NULL
或<> NULL
来检查NULL值,因为在SQL中,NULL表示未知值,所以无法与其他值进行比较¹。希望这个解答对你有所帮助!
def query_CoilNum(list_CoilNum):
# 避免字符串等非容器
# 避免空列表
if len(list_CoilNum) > 0:
# 列表_卷号,个数n=len,第1~n个的索引是0~n-1
statement = '('
# 第1~倒数第2个的索引是0~n-1-1,即[0,n-1)
for i in range(len(list_CoilNum)-1):
statement += f"(CoilNumber like '%{list_CoilNum[i]}%') or "
# 倒数第1个的索引是n-1
# if len(list_CoilNum) == 1: 一个语句有两个括号, 不影响使用
statement += f"(CoilNumber like '%{list_CoilNum[-1]}%'))"
else:
# DatabaseError: 不可以用None, f"{None}" == "{}".format(None) == "None"
# DatabaseError: 不可以用""
# 如果允许所有CoilNUm, 赋值statement = "1=1"
# 如果筛选CoilNum缺失, 赋值statement = "CoilNumber is null"
# 如果筛选CoilNum非缺失的全部行, 赋值statement = "CoilNumber is not null"
# 不能使用 = null 或 <> null, 因为null表示未知值, 无法进行比较
statement = "CoilNumber is not null"
return statement