NLS_LANG вызывает проблему с распознаванием MATCH ORACLE SQL - PullRequest
0 голосов
/ 07 апреля 2020

Я пишу вам, потому что я обнаружил очень странную проблему при использовании функции MATCH_RECOGNIZE в Oracle. Проблема в том, что когда я не изменяю NLS_LANGUAGE на американский, результаты выглядят следующим образом.

+------------+------------+------+---------+--+
| VALID_FROM | VALID_TO   | CST  | ACTION  |  |
+------------+------------+------+---------+--+
| 27-01-2014 | 28-05-2014 | 2511 | Konkurs |  |
| 08-08-2014 | 06-10-2014 | 2511 | Konkurs |  |
|            |            | 2511 | Konkurs |  |
+------------+------------+------+---------+--+

Однако, когда изменились, результаты верны и лишняя запись (3-я) пропала.

+------------+------------+------+---------+--+
| VALID_FROM | VALID_TO   | CST  | ACTION  |  |
+------------+------------+------+---------+--+
| 27-01-2014 | 28-05-2014 | 2511 | Konkurs |  |
| 08-08-2014 | 06-10-2014 | 2511 | Konkurs |  |
+------------+------------+------+---------+--+

Кто-нибудь из вас знает, почему это происходит? Дополнительная запись создана совершенно неожиданно, и я не могу определить, откуда она взялась. Пожалуйста, найдите ниже часть кода match_recognize.

match_recognize ( 
        PARTITION BY kundenr, oikhaendelse,DEFAULT_TK
        ORDER BY valid_to, valid_from
        MEASURES min (valid_from) valid_from, MAX (valid_to) valid_to
        PATTERN (a b *)
        DEFINE b AS valid_from <= prev (valid_to) 
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...