Nonstop Database, HiRDB Version 9 Description
The decimal, date interval, and time interval data formats are signed packed formats consisting of a value's integer and sign parts. Normally, HiRDB handles X'C' (positive), X'D' (negative), and X'F' (positive) as the sign parts of signed packed-format data as valid values, and stores directly in the database any signs that are input from a UAP or utility.# In addition, HiRDB treats +0 (sign part X'C' or X'F') and -0 (sign part X'D') as distinct values.
Use of the facility for conversion to a decimal signed normalized number enables conversion of the sign part of a signed packed decimal, date interval, or time interval data format.
#: Type conversions and operations during the execution of SQL statements sometimes result in conversion of signs. In addition, the use of multicolumn indexes can result in conversion of signs.
The following table lists the specifications of the sign part of signed packed format in HiRDB.
Table 7-7 Specification of the sign part of signed packed format
Sign part | Meaning |
---|---|
X'C' | Indicates a positive value. |
X'D' | Indicates a negative value. |
X'F' | Indicates a positive value. |
When the facility for conversion to a decimal signed normalized number is used, HiRDB converts the sign part of signed packed format during data input, according to the rules described in the tables below. The process of converting a sign part is called normalization. When the sign part is converted, the codes +0 and -0 can be treated as being the same value.
Table 7-8 Rules for conversion of the sign part of signed packed format (other than "0" data)
Sign part of embedded variable | Not normalized | Normalized |
---|---|---|
X'A' | Error | Converts to X'C'. |
X'B' | Error | Converts to X'D'. |
X'C' | No conversion | No conversion |
X'D' | No conversion | No conversion |
X'E' | Error | Converts to X'C'. |
X'F' | No conversion | Converts to X'C'. |
X'0' to X'9' | Error | Error |
Table 7-9 Rules for conversion of the sign part of signed packed format ("0" data)
Sign part of "0" data | Not normalized | Normalized |
---|---|---|
X'A' | Error | Converts to X'C'. |
X'B' | Error | |
X'C' | No conversion | |
X'D' | No conversion | |
X'E' | Error | |
X'F' | No conversion |
When UAPs with different sign part specifications are used, it might be beneficial to use the facility for conversion to a decimal signed normalized number. In such a case, use this facility after the sign conversion rules are adequately confirmed.
For example, if a UAP is transferred from XDM/RD E2 to HiRDB, it might be beneficial in some situations to use the facility for conversion to a decimal signed normalized number, because XDM/RD E2 and HiRDB have different specifications for the sign part of the decimal type.
To use the facility for conversion to a decimal signed normalized number, you must specify pd_dec_sign_normalize=Y in the system common definition.
Specify the facility for conversion to a decimal signed normalized number as soon as HiRDB is installed. If sign parts are to be normalized once operation of HiRDB is underway, it might be necessary to reload all table data in which the decimal type is defined.
For details about using the facility for conversion to a decimal signed normalized number, see the HiRDB Version 9 System Operation Guide.
All Rights Reserved. Copyright (C) 2015, Hitachi, Ltd.