关于空值与特殊属性值含义的说明
一、 数据表中的特殊值
1、 数据表中凡是数值型属性,除对于SERIAL类型属性的自我参照属性,都不允许使用空值,如果此变量值是由前台录入的,则在未录入数据时,缺省认为是“0”
2、 数据表中数值型属性,我们是假设在使用时是不可能有空值的,如果有可认为是程序的BUG,或DB设计时没有设缺省值,这是要通过调试发现并修改的。
3、 数据表中字符型属性,PDM中是根据实际情况而确定是否可空。由于在INFORMIX-EC中,对于NULL读到C变更时,是自动变成空串,反之亦然,因此对空值的判断可转换成对空串的判断。
4、 数据表中的特殊值:
序号
属性
特殊值
含义
1
保险期
999
表示终身险
2
保险期
0
表示一次性保险(短险才用)
3
终止日期(缴费,责任等)
9999/12/31
表示无穷大
4
养老金领取年龄
空值是指零长度的字符串0
保险期改为999表示终身险,养老金领取年龄为0表示即期领取是在新契约阶段使用,即服务收到FML传来的领取年龄为0,并且有养老金险种,则按即期领取方式检查是否允许即期领取,如果允许按此方式芨其它要素计算保费与领取标准。申请生效后转为合同时,在合同表中加入是否延期领取的标记,如果是即期领取的,该标记设为0,领取年龄按实际的领取年龄设置。
二、 计算表中的特殊值
1、 总体设计中《关于在计算表中取消空值定义的说明》文档说明了关于取消计算表中空值的问题。
2、 计算表中的空值原来的含义是:“在计算中,该值不用。”
3、 由于取消了空值,原有的空值要用特殊值替换,约定数值型用“-1”,字符型用“#”
三、 服务调用时,接口数据中的特殊值
1、 如果是前台输入的数据,并且在服务中要判该项是否输入了有意义的数据,如:要区分年龄未输与年龄为“0”的两种情况。由于在程序变量中是不能表示理论意义上的空值的,因此这时要用前后台约定的特殊值来表示。
2、 我们约定:数值型用“-1”表示未输入(如果某项负值本身是合法的值域,则需另行约定特殊值或用指示变量);字符型与日期型用空串。
3、 前后台调用时,如果非必须,对于数值型不要用特殊值“-1”,而用缺省值“0,只有在业务
上确实需区分”0”与未输入的含义时才用特殊值。
4、 服务调用时的特殊值使用要在设计中明确说明。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。