Различные результаты запросов RAW от django.db.connection и cx_Oracle

Я выполнил следующий запрос из моего проекта Django.

from django.db import connection
        balance_query = "
  SELECT HAOU.ORGANIZATION_ID ORG_ID,
         CASE
            WHEN HAOU.ORGANIZATION_ID = 1 THEN 'F'
            WHEN HAOU.ORGANIZATION_ID = 9 THEN 'R'
            ELSE HAOU.NAME
         END
            COMPANY,
         BLNCE (HCA.CUST_ACCOUNT_ID, HCASA.ORG_ID, 0) CCL
    FROM hca,
         hp,
         hcasa,
         hcsua,
         HAOU
   WHERE     hca.party_id = hp.party_id
         AND hca.cust_account_id = hcasa.cust_account_id
         AND hcasa.bill_to_flag = 'K'
         AND hcasa.cust_acct_site_id = hcsua.cust_acct_site_id
         AND hcsua.site_use_code = 'AM'
         AND HCASA.ORG_ID IN (1, 9)
         AND HAOU.ORGANIZATION_ID = HCASA.ORG_ID
         AND HCASA.CUST_ACCOUNT_ID = 11211123
ORDER BY 1"

        with connection.cursor() as cur:
            cur.execute(balance_query)
            balance_data = cur.fetchall()
            print(balance_date)

После печати я получаю результат в виде (1, 'F', 77259668) (9, 'R', '24153')

Значение полужирного неверно

Но

Когда я выполняю тот же запрос со следующим запросом

import cx_Oracle
dsn_tns = cx_Oracle.makedsn('host', 'post', service_name='name')
conn = cx_Oracle.connect(user=r'user', password='pwd', dsn=dsn_tns)
c = conn.cursor()
c.execute(
    "  SELECT HAOU.ORGANIZATION_ID ORG_ID,
         CASE
            WHEN HAOU.ORGANIZATION_ID = 1 THEN 'F'
            WHEN HAOU.ORGANIZATION_ID = 9 THEN 'R'
            ELSE HAOU.NAME
         END
            COMPANY,
         BLNCE (HCA.CUST_ACCOUNT_ID, HCASA.ORG_ID, 0) CCL
    FROM hca,
         hp,
         hcasa,
         hcsua,
         HAOU
   WHERE     hca.party_id = hp.party_id
         AND hca.cust_account_id = hcasa.cust_account_id
         AND hcasa.bill_to_flag = 'K'
         AND hcasa.cust_acct_site_id = hcsua.cust_acct_site_id
         AND hcsua.site_use_code = 'AM'
         AND HCASA.ORG_ID IN (1, 9)
         AND HAOU.ORGANIZATION_ID = HCASA.ORG_ID
         AND HCASA.CUST_ACCOUNT_ID = 11211123
ORDER BY 1")

for r in c:
    print(r)

Затем он показывает правильные значения, которые следующие

(1, 'F', '77244730') (9, 'R', '24153')

Различается только одно значение, которое я выделил жирным и курсивом. Бэкенд БД - Oracle, и я использую один и тот же экземпляр с одними и теми же учетными данными для обоих соединений. Это происходит только для одного пользователя, для всех других пользователей запрос дает тот же результат с cx_oracle и django.connection.cursor

Вернуться на верх