В 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 не будет.

Другие вопросы по тегам