Вывод фрагмента поля или подполя
В некоторых случаях имеется необходимость вывести часть поля, которая не является подполем, особенно тогда, когда поле имеет фиксированный формат (например, запись даты в виде ГГГГММДД). Это можно сделать командой смещение/длина, размещаемой сразу за командой вывода поля или подполя, к которому команда применяется.
Эта команда имеет вид:
*<смещение>.<длина>
где:
*<смещение> | Указывает позицию первого символа фрагмента, который должен быть извлечен из поля или подполя (позиции символов нумеруются с нуля, т.е. первый символ находится в позиции 0, второй - в позиции 1 и т.д.); если смещение не указано, то оно считается равным 0; | ||
.<длина> |
| Указывает количество извлекаемых символов. Если длина опущена, то извлекается все поле (подполе) до конца, начиная с символа, указанного в смещении. |
На рис. 4 приведены примеры использования команды по отношению к записи, которая в качестве поля с меткой 1 содержит следующее значение:
88-Nov-05
Обратите внимание на различные способы манипулирования полями с подполями в последних двух примерах. Если производится ссылка на поле целиком (например, v210), то нулевое смещение указывает на первую фактическую позицию поля (включая возможные разделители, стоящие в начале), а при ссылке на подполе (например, v210^с) нулевое смещение указывает на первый символ данных, стоящий после разделителя подполей.
Формат Выходные данные
----------- ------------------------------------------------------------
v1*3.3 Nov
v1.2 88
v1*7 05
v1*7,v1*2.4 05-Nov
v1*7,v1*2.5,v1.2 05-Nov-88
v210.3 ^cВ
v210^c.3 Вое
Рис. 4