Как указать десятичный фильтр в «выбрать в таблицу, где» в ABAP?

Мне нужен такой запрос в ABAP, но это не работает.

SELECT * FROM table
INTO i_tab
WHERE amount = 100,15

Я пробовал: WHERE amount = '100,15', но это тоже не работает.

Как указать десятичную дробь в моем синтаксисе where?


person Marsha    schedule 09.06.2015    source источник
comment
Какой тип данных столбца amount?   -  person vwegert    schedule 09.06.2015
comment
@vwegert это WRBTR (CURR 13,2)   -  person Marsha    schedule 09.06.2015
comment
@Marsha: В моей стране мы не используем запятую в качестве десятичного разделителя, мы используем точку. В моем случае я бы использовал: SELECT * FROM table INTO i_tab WHERE amount = '100.15'. Можете попробовать с этим синтаксисом? Надеюсь, это поможет.   -  person Nelson Miranda    schedule 09.06.2015


Ответы (2)


Правильный синтаксис:

SELECT * 
FROM table
INTO i_tab
WHERE amount = '100.15'
person Vincenzo Cappello    schedule 09.06.2015
comment
да, пользовательские настройки (например, использование в качестве десятичного разделителя) не учитываются открытым SQL - person Esti; 10.06.2015
comment
Не только SQL, но и ABAP. - person Christian; 19.06.2015
comment
добавленные кавычки привели к ошибке, поскольку тип данных суммы не является символом. - person Marsha; 25.06.2015

Я перехитрил его, изменив логику на

WHERE amount > 100 AND amount < 101
person Marsha    schedule 25.06.2015
comment
Это не фильтрует только 100,15 записей. - person Bruno Lucattelli; 28.07.2015