Fråga : Motsvarighet DB2 av IN

Denna query…

SELECT LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, LOWES.T556_RP_MP_VBU.T627_FRG_TER_CD, LOWES.T556_RP_MP_VBU.T1085_CAC_MTH_ID, LOWES.T554_RP.T605_RP_TYP_ID, OXD_SWT_1XD_IDC, LOWES.T1085_TRO_CAC_MTH.DES_TXT, LOWES.T750_EFC_HDR_EXC.IFM_PRM_NBR, LOWES.T748_EFC_HDR_PRM.IFM_PRM_NBR, LOWES.T556_RP_MP_VBU.IFM_SRCHFLAG_TXT, LOWES.T556_RP_MP_VBU.IFM_HDFLAGTAB_1TXT, LOWES.T556_RP_MP_VBU.IFM_VRMIN_1_NBR, LOWES.T556_RP_MP_VBU.IFM_VRMAX_1_NBR, LOWES.T556_RP_MP_VBU.IFM_HDFLAGTAB_2TXT, LOWES.T556_RP_MP_VBU.IFM_VRMIN_2_NBR, LOWES.T556_RP_MP_VBU.IFM_VRMAX_2_NBR FRÅN INRE LOWES.T554_RP SAMMANFOGAR ((INRE LOWES.T556_RP_MP_VBU SAMMANFOGAR (INRE LOWES.T748_EFC_HDR_PRM SAMMANFOGAR (LÄMNADE LOWES.T572_SHP_LCT_GRP SAMMANFOGAR PÅ LOWES.T750_EFC_HDR_EXC (INT (byt ut (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, ”DC”, '')) = INT (byt ut (LOWES.T750_EFC_HDR_EXC.T162_CGY_SHT_NME, 'DC', ''))), OCH (LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR = LOWES.T750_EFC_HDR_EXC.T616_VBU_NBR) OCH (LOWES.T572_SHP_LCT_GRP.T619_MP_NBR = LOWES.T750_EFC_HDR_EXC.T619_MP_NBR) OCH (LOWES.T572_SHP_LCT_GRP.
T554_RP_NBR = LOWES.T750_EFC_HDR_EXC.T554_RP_NBR)) PÅ (LOWES.T748_EFC_HDR_PRM.T616_VBU_NBR = LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR) OCH (LOWES.T748_EFC_HDR_PRM.T619_MP_NBR = LOWES.T572_SHP_LCT_GRP.T619_MP_NBR) OCH (LOWES.T748_EFC_HDR_PRM.T554_RP_NBR = LOWES.T572_SHP_LCT_GRP.T554_RP_NBR)) PÅ (LOWES.T556_RP_MP_VBU.T616_VBU_NBR = LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR) OCH (LOWES.T556_RP_MP_VBU.T619_MP_NBR = LOWES.T572_SHP_LCT_GRP.T619_MP_NBR) OCH LOWES.T556_RP_MP_VBU.T554_RP_NBR = INRE LOWES.T572_SHP_LCT_GRP.T554_RP_NBR) SAMMANFOGAR LOWES.T1085_TRO_CAC_MTH PÅ LOWES.T556_RP_MP_VBU.T1085_CAC_MTH_ID = LOWES.T1085_TRO_CAC_MTH.T1085_CAC_MTH_ID) PÅ LOWES.T554_RP.T554_RP_NBR = LOWES.T572_SHP_LCT_GRP.T554_RP_NBR VAR INT (BYT UT (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, ”DC', '') I (955.960.961.962.965.966, 990,992,1419,1420,1421,1436,1440,1449,964,1438,1439,1446) OCH wbr/>G för LOWES.T556_RP_MP_VBU.T554_RP_NBR=1 OCH för LOWES.T556_RP_MP_VBU.T619_MP_NBR=1 OCH för LOWES.T556_RP_MP_VBU.T616_VBU_NBR=1 OCH för LOWES.T748_EFC_HDR_PRM.IFM_PRM_TXT='<”;

… startar felmeddelandet som bruket av det reserverat uttrycker ”I” "" är efter ogiltigt. Förväntade tecken inkluderar:

What är den korrekta syntaxen DB2 för IN?
" klar "

Svar : Motsvarighet DB2 av IN

DB2 stöttar IN.  Emellertid den skulle verkar som om från felet din query går ett tomt tillbaka stränger för ”INTEN (BYT UT (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, ”DC”, '')”.  (I faktum, om du kopierade queryen in i ditt, ifrågasätta exakt, som det visas, då dig är saknat ett bokslut ”),”.  Så att det skulle medlet dig är pröva att kontrollera en stränga mot en lista av heltal, därför att INTEN fungerar inte avslutar.  Behaga bekräftar detta.),  Du bör antagligen tillfoga:
  BYT UT (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, ”DC”, '') <> '' OCH
framåt av ”INTEN (...) I (...)” del av VAR sats.  Skulle detta ser till att inget tomt stränger inte används med IN.
Andra lösningar  
 
programming4us programming4us