В CDS View выберите оператор, как преобразовать тип DEC в тип INT?
В представлении выбора CDS View, учитывая, что у меня есть столбец типа DEC
Как я могу преобразовать это в тип INT
?
Работа, проделанная до сих пор: в соответствии с CAST_EXPR
документация, это невозможно с CAST_EXPR
, Согласно документации по числовым функциям, математические функции, такие как FLOOR
вернет значение того же типа.
2 ответа
Обновление: документация по числовым функциям верна.
Код floor(fieldname)
преобразует DEC(X,Y)
(где Y > 0
) в DEC(X,0)
, По существу, floor
убирает десятичные разряды из поля без изменения его типа.
С другой стороны, ceil(fieldname)
будет округлять до ближайшего целого числа и конвертировать DEC
для INT
Если вы хотите получить целое число из floor
функция, то вы должны позвонить ceil(floor(fieldname))
В системе NetWeaver вы должны быть в состоянии найти CDS View demo_cds_sql_functions_num
и программа / отчет demo_cds_sql_functions_num
которые помогают продемонстрировать эти концепции. Вы можете использовать отладчик для просмотра переменной отчета result
и подтвердить мои выводы.
ceil
Является ли:
cast(ceil(fieldname) as abap.int4)
Обратите внимание, что floor
не будет.