点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
为什么哦,为什么这么难?
我要处理的SQL数据库中的两列是日期时间值,在数据库本身中可能为NULL。
报告这些列时,我想显示"无",其中不存在任何日期,或者显示为MM/DD/YYYY格式的日期。 因此,我添加了一个字段"显示字符串",如下所示:
如果IsNull({Command.EFFECTIVE_DATE}),则
'none'
else
ToText({Command.EFFECTIVE_DATE},'MM/dd/yyyy')
您可能已经知道,如果该列包含日期,则可以正确显示,但是如果日期为null,则该字段在报告上显示为空白。 所以,我尝试了这个:
如果IsNull({Command.EFFECTIVE_DATE}),则
'1234'
否则
'5678'
现在我知道具有有效日期的字段显示为5678,而空字段仍为空白。
我到底在做什么错了?
这是SQL。
我尝试第二次测试的原因是为了确保表达式正在做某事。 它可以清楚地识别出空日期,因为它在出现日期时会打印5678。
问题是,为什么日期为null时为什么报表上仅显示空白字段?
您要连接到哪种数据库?
嗨,胭脂红,
而不是使用IsNull,而是检查您的日期是否为0,例如:
Crystal使用Date(0,0,0)作为NULL日期值。
谢谢,
Brian
尽管如此,在"报告详细信息"部分中,实际具有日期值的字段仍显示(在这种情况下) 5678,而具有空日期的字段则什么也不显示-完全空白。
为什么? 我的1234在哪里?
我修改了命令,该命令提取数据以将空日期强制为01/01/1900 [IsNull(Q.EFFECTIVE_DATE,convert(datetime,'1900- 01-01'))],然后在Crystal Reports中更改测试以专门检查该日期。
我不明白为什么我必须经历所有这些,但是它确实有效。
查询中的用例语句
datefiled为null或datefield ='19000101'的情况,否则datefield结尾为0
一周热门 更多>