Oracle不会返回所有行

时间:2018-12-11 09:49:34

标签: sql oracle lazarus zeos

我创建了一个简单的应用程序,用于从Oracle获取一些数据。 该应用程序使用Lazarus编写,并使用ZeosLib和Oracle客户端(oci.dll)连接到服务器。 Oracle管理员为我准备了一个获取数据的视图。我不知道它是如何建立的。当我使用字段IDWYDZ运行脚本时,当我注释掉字段IDWYDZ或将其替换为空字段时,将返回大约200行(不是全部)。 ''作为IDWYDZ然后我得到了全部500行。为什么包含或排除列会影响返回的行数?

SELECT
    SKROT as IDPROD
    , substr( REPLACE( LTRIM(RTRIM(CAST(NAZWA AS NVARCHAR2(100)))), '''', '`'), 1, 49) as NAZPROD
    , substr( REPLACE( LTRIM(RTRIM(CAST(OPIS1 AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS1
    , substr( REPLACE( LTRIM(RTRIM(CAST(OPIS2 AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS2
    , substr( REPLACE( LTRIM(RTRIM(CAST(PREFIX AS NVARCHAR2(255)))), '''', '`'), 1, 49) as OPIS3
    , substr( LTRIM(RTRIM(CAST(OPIS1 AS NVARCHAR2(100)))), 1, 30) as IDGRUPY
    , SUBSTR(JM,1, 10) AS JM
    , CENA_SPRZ AS CENA
    , EAN AS EAN13
    , 'R' as TYPBOM
    , case when SKROT<'140000' then 'M' else 'K' end as TYPPROD
    --, FD_DZIAL AS IDWYDZ
FROM
    ACME.EXPORT_VIEW_KAS
WHERE
    DATA_MODYF>=(CURRENT_DATE-7) AND
    LENGTH(SKROT)>0
order by 
    IDPROD

0 个答案:

没有答案