Смещение OpenSQL в предложении WHERE

У меня есть такое требование: есть поле длиной 8 байтов, и я хочу извлечь последние 4 байта с помощью SQL.

Пример: есть дата 01012017, поэтому я хочу только 2017. Как я могу добиться этого с помощью предложения WHERE.


person Ankit Setia    schedule 29.07.2018    source источник
comment
Какие столы? Какие поля?   -  person Nelson Miranda    schedule 29.07.2018
comment
используйте 1_   -  person Suncatcher    schedule 29.07.2018
comment
Возможный дубликат Как использовать подстроку в OpenSQL ABAP WHERE пункт?   -  person Gert Beukema    schedule 29.07.2018
comment
Что не так с предложением LIKE?   -  person VXLozano    schedule 30.07.2018


Ответы (1)


Вы должны выбрать данные полностью, затем использовать

LOOP AS it_fulldate ASSIGNING <ls_fulldate>.
  <ls_fulldate>-date = <ls_fulldate>-date+4(4).
ENDLOOP.

Но обычно тип данных даты и времени - ГГГГММДД, поэтому правильным может быть <ls_fulldate>-date+0(4)

person Binh    schedule 31.07.2018