我在SQL Server中运行以下SQL查询,我需要在不满足条件时将默认值返回为“NULL”。对于某些不符合条件的记录,结果应该显示为NULL但是我得到的空格就是NULL。有人可以帮忙吗?
我的表中有几行不符合条件所以我应该在结果中看到NULL。
{{lookup_dict}}
{% for a in my_list %}
{{a|my_filter:1}}
{% endfor %}
@register.filter
def my_filter(obj, val):
# I need to access "lookup_dict" here
return ...
答案 0 :(得分:2)
你的逻辑不正确。这是一种解决方法,考虑到case
语句级联 - 也就是说,逻辑选择第一个匹配:
SELECT NAME,
(CASE WHEN AGE >= 18 AND SEX = 'M' THEN 'Adult Male'
WHEN AGE < 18 AND SEX = 'M' THEN 'Non-Adult Male'
WHEN AGE >= 18 AND SEX = 'F' THEN 'Adult Female'
WHEN AGE < 18 AND SEX = 'F' THEN 'Non-Adult Female'
END) AS AGE_SEX
注意:ELSE NULL
是多余的,因为CASE
在没有条件匹配时会返回NULL
。