Questione : Equivalente DB2 di DENTRO

Questo

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 di domanda… DA LOWES.T554_RP INTERNO SI UNISCE ((LOWES.T556_RP_MP_VBU INTERNI SI UNISCONO (LOWES.T748_EFC_HDR_PRM INTERNI SI UNISCONO (LOWES.T572_SHP_LCT_GRP LASCIATI UNISCONO LOWES.T750_EFC_HDR_EXC SOPRA (INT (sostituire (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, “DC„, '')) = INT (sostituire (LOWES.T750_EFC_HDR_EXC.T162_CGY_SHT_NME, 'wbr/> del DC'<, ''))) E (LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR = LOWES.T750_EFC_HDR_EXC.T616_VBU_NBR) E (LOWES.T572_SHP_LCT_GRP.T619_MP_NBR = LOWES.T750_EFC_HDR_EXC.T619_MP_NBR) E (LOWES.T572_SHP_LCT_GRP.
T554_RP_NBR = LOWES.T750_EFC_HDR_EXC.T554_RP_NBR)) (LOWES.T748_EFC_HDR_PRM.T616_VBU_NBR = LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR) su E (LOWES.T748_EFC_HDR_PRM.T619_MP_NBR = LOWES.T572_SHP_LCT_GRP.T619_MP_NBR) E (LOWES.T748_EFC_HDR_PRM.T554_RP_NBR = LOWES.T572_SHP_LCT_GRP.T554_RP_NBR))Il (LOWES.T556_RP_MP_VBU.T616_VBU_NBR = LOWES.T572_SHP_LCT_GRP.T616_VBU_NBR) su E (LOWES.T556_RP_MP_VBU.T619_MP_NBR = LOWES.T572_SHP_LCT_GRP.T619_MP_NBR) E LOWES.T556_RP_MP_VBU.T554_RP_NBR = LOWES.T572_SHP_LCT_GRP.T554_RP_NBR) INTERNO UNISCE LOWES.T1085_TRO_CAC_MTH su LOWES.T556_RP_MP_VBU.T1085_CAC_MTH_ID = LOWES.T1085_TRO_CAC_MTH.T1085_CAC_MTH_ID) SU LOWES.T554_RP.T554_RP_NBR = LOWES.T572_SHP_LCT_GRP.T554_RP_NBR DOVE INT (SOSTITUIRE (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, “wbr/> del DC'<, '') il in (955.960.961.962.965.966, 990,992,1419,1420,1421,1436,1440,1449,964,1438,1439,1446) E nel wbr/>G di LOWES.T556_RP_MP_VBU.T554_RP_NBR=1 E di LOWES.T556_RP_MP_VBU.T619_MP_NBR=1 E di LOWES.T556_RP_MP_VBU.T616_VBU_NBR=1 E di LOWES.T748_EFC_HDR_PRM.IFM_PRM_TXT='<„; il

… innesca il messaggio che di errore l'uso della parola riservata “„ nel "" seguente è non valido. I segni previsti includono: il

What è la sintassi corretta DB2 per DENTRO?
class= del

Risposta : Equivalente DB2 di DENTRO

DB2 sostiene DENTRO.  Tuttavia, sembrerebbe dall'errore che la vostra domanda stia restituendo una stringa vuota per “il INT (SOSTITUIRE (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, “CC„, '')„.  (Infatti, se copiaste esattamente la domanda nella vostra domanda come compare, quindi state mancando un closing ")„.  In modo che significhi che state provando a controllare una stringa contro una lista dei numeri interi, perché la funzione di INT non sta completando.  Confermare prego questo.)  Dovreste probabilmente aggiungere:
  SOSTITUIRE (LOWES.T572_SHP_LCT_GRP.T162_CGY_SHT_NME, “CC„, '') <> '' E
davanti “al INT (...) (...)„ nella parte del DOVE clausola.  Ciò si assicurerebbe che nessuna stringa vuota non stia usanda con DENTRO.
Altre soluzioni  
 
programming4us programming4us