显示NULL日期的字符串

2020-09-04 00:50发布

         点击此处--->   EasySAP.com群内免费提供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,而空字段仍为空白。

我到底在做什么错了?

         点击此处--->   EasySAP.com群内免费提供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,而空字段仍为空白。

我到底在做什么错了?

付费偷看设置
发送
6条回答
南山jay
1楼-- · 2020-09-04 01:35

这是SQL。

我尝试第二次测试的原因是为了确保表达式正在做某事。 它可以清楚地识别出空日期,因为它在出现日期时会打印5678。

问题是,为什么日期为null时为什么报表上仅显示空白字段?

天桥码农
2楼-- · 2020-09-04 01:35

您要连接到哪种数据库?

半个程序猿
3楼-- · 2020-09-04 01:32

嗨,胭脂红,

而不是使用IsNull,而是检查您的日期是否为0,例如:

如果{Command.EFFECTIVE_DATE} =日期(0、0、0),则"  1234'否则为'5678'

Crystal使用Date(0,0,0)作为NULL日期值。

谢谢,

Brian

渐行渐远_HoldOn
4楼-- · 2020-09-04 01:45

尽管如此,在"报告详细信息"部分中,实际具有日期值的字段仍显示(在这种情况下) 5678,而具有空日期的字段则什么也不显示-完全空白。

为什么? 我的1234在哪里?

huskylover
5楼-- · 2020-09-04 01:25

我修改了命令,该命令提取数据以将空日期强制为01/01/1900 [IsNull(Q.EFFECTIVE_DATE,convert(datetime,'1900- 01-01'))],然后在Crystal Reports中更改测试以专门检查该日期。

我不明白为什么我必须经历所有这些,但是它确实有效。

葫芦娃快救爷爷
6楼-- · 2020-09-04 01:23

查询中的用例语句

datefiled为null或datefield ='19000101'的情况,否则datefield结尾为0

一周热门 更多>