我有以下SQL语句:
FOR
SELECT A.BLIEF_MASKENKEY,
A.BLIEF_BADR_NAME,
A.BSA_MASKENKEY,
A.BLLC_MASKENKEY,
A.LLTERMIN,
A.BLLC_ERFASSUNGSDATUM,
A.WE_MENGE,
A.BBESP_BESTMENGE,
A.BBESP_ARTKZ,
B.BREKL_MASKENKEY,
B.MASKENKEY,
B.BREKL_BLIEF_MASKENKEY,
B.BLIEF_BADR_NAME,
B.BSA_MASKENKEY,
B.BSA_ARTBEZ,
B.MENGE,
B.ERFASST_AM,
B.FERTIG_BIS,
B.BREKLPOVERURS_MASKENKEY,
B.BREKLPOVERURS_BEZ,
B.BREKLFEHLURS_MASKENKEY,
B.BREKLFEHLURS_BEZ,
B.BREKLFEHLART_MASKENKEY,
B.BREKLFEHLART_BEZ,
B.BREKLPOGARANTIE_MASKENKEY,
B.BREKLPOGARANTIE_BEZ
FROM V_BLLCP A
LEFT OUTER JOIN V_BREKLPO B ON B.BREKL_BLIEF_ID = A.BLIEF_ID AND B.BSA_ID = A.BSA_ID_ARTNR AND B.ERFASST_AM BETWEEN :ANFANGSDATUM AND :ENDDATUM
WHERE A.LLTERMIN BETWEEN :ANFANGSDATUM AND :ENDDATUM AND
A.BBESP_ARTKZ = '9100'
ORDER BY A.BLIEF_MASKENKEY ASC
INTO :BLIEF_MASKENKEY,
:BLIEF_BADR_NAME,
:BSA_MASKENKEY,
:BLLC_MASKENKEY,
:LLTERMIN,
:BLLC_ERFASSUNGSDATUM,
:WE_MENGE,
:BBESP_BESTMENGE,
:NUMMER,
:LFDNR,
:BLIEF_NR,
:BLIEF_NAME,
:KENNZ,
:ARTNR,
:ARTBEZ,
:MENGE,
:ERFASST_AM,
:FERTIG_BIS,
:VERURSACHER_CODE,
:VERURSACHER,
:FEHLER_CODE,
:FEHLER,
:FEHLERART_CODE,
:FEHLERART,
:RESULTAT_CODE,
:RESULTAT
DO
BEGIN
-- Relevanzfaktor bestimmen
IF (RESULTAT_CODE = 'L0001') THEN RELEVANZ_DEZ = 0.05;
IF (RESULTAT_CODE = 'L0002') THEN RELEVANZ_DEZ = 0.1;
IF (RESULTAT_CODE = 'L0003') THEN RELEVANZ_DEZ = 0.5;
IF (RESULTAT_CODE = 'L0004') THEN RELEVANZ_DEZ = 0.5;
IF (RESULTAT_CODE = 'L0005') THEN RELEVANZ_DEZ = 0;
IF (RESULTAT_CODE = 'L0006') THEN RELEVANZ_DEZ = 0;
IF (RESULTAT_CODE = 'L0007') THEN RELEVANZ_DEZ = 1;
IF (RESULTAT_CODE = 'L0008') THEN RELEVANZ_DEZ = 1;
IF (RESULTAT_CODE = 'L0009') THEN RELEVANZ_DEZ = 1;
IF (RESULTAT_CODE = 'L0010') THEN RELEVANZ_DEZ = 0;
IF (RESULTAT_CODE = 'L0011') THEN RELEVANZ_DEZ = 1;
IF (RESULTAT_CODE = 'L0012') THEN RELEVANZ_DEZ = 0.1;
IF (RESULTAT_CODE = 'L0013') THEN RELEVANZ_DEZ = 0.1;
IF (RESULTAT_CODE = 'L0014') THEN RELEVANZ_DEZ = 0.1;
IF (RESULTAT_CODE = 'L0015') THEN RELEVANZ_DEZ = 0;
IF (RESULTAT_CODE = 'L0016') THEN RELEVANZ_DEZ = 0;
RELEVANZ = RELEVANZ_DEZ * 100;
RELEVANZ = CAST(RELEVANZ AS INTEGER);
RELEVANZ = CAST(RELEVANZ || '%' AS VARCHAR(10));
RELEVANZ_MENGE = MENGE * RELEVANZ_DEZ;
SUSPEND;
END
当我执行它时,我收到以下错误:
Error conversion from String: "Some "string" here".
我可以看到查询成功返回了3组数据,但是对于第4组,BLIEF_BADR_NAME
字段包含双精度qoutes(如“this”)。我相信这是它崩溃的地方。如果有人知道,我怎么能逃脱双打的报价?
至少我认为这会导致问题。