免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7650 | 回复: 20
打印 上一主题 下一主题

RPGLE判断日期型变量为空如何写?~~~~~ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-18 12:12 |只看该作者 |倒序浏览
RPGLE判断日期型变量为空如何写?~~~~~

我知道某些空的字段SQL语句可以这样写

select * from mytable
where myfield  is NULL

对于日期型则不行了

RPGLE里面

            IF    MYDATE  is NULL

            ENDIF

编译通不过去,=NULL也通不过去,难道是*blanks吗?好像也不是吧?

[ 本帖最后由 letusgoup 于 2009-12-19 00:28 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-12-18 12:25 |只看该作者
H ALWNULL(*USRCTL)
...
C READ my_table
C IF %NULLIND(my_date)
C ...
C ENDIF

[ 本帖最后由 franliu 于 2009-12-18 14:25 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-12-18 13:23 |只看该作者

多谢

多谢,我是想判读出来这条记录之后,或者是某个独立变量被赋值之后,
判断
IF  这个日期变量是不是空的,

您提供的方式编译没过去,似乎不是这么用的

[ 本帖最后由 letusgoup 于 2009-12-18 13:30 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-12-18 14:22 |只看该作者

回复 #3 letusgoup 的帖子

怎么会呢?这是标准的ILE RPG的办法。你那编译出错报告报什么错?

论坛徽章:
0
5 [报告]
发表于 2009-12-18 18:28 |只看该作者
c                   IF        DT = *NULL                        
C                   END

论坛徽章:
0
6 [报告]
发表于 2009-12-18 20:26 |只看该作者

回复 #1 letusgoup 的帖子

你所谓的空应该是指没有数据的意思吧!你可以自己做一个日期的最小值,比它小的不就是NUll?????

论坛徽章:
0
7 [报告]
发表于 2009-12-18 20:40 |只看该作者

噢,可能是我没有在H表里增加您提供的那一行代码

在代码里找到了解决方法,

IF    日期变量 = D'0001-01-01'

ENDIF

SQL查询,空的日期显示是一串加号

论坛徽章:
0
8 [报告]
发表于 2009-12-18 21:14 |只看该作者

回复 #7 letusgoup 的帖子

D'0001-01-01'  是耶稣教徒出生的那一年的一月一日。

日期是没有所谓空白的,null倒是允许的。

论坛徽章:
0
9 [报告]
发表于 2009-12-18 23:07 |只看该作者

回复 #8 franliu 的帖子

NULL试验了,不行

论坛徽章:
0
10 [报告]
发表于 2009-12-18 23:22 |只看该作者

回复 #9 letusgoup 的帖子

问题是你那个日期字段内存储的值根本就不是null.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP