Fråga : IIF sätter in längd ifrågasätter

REKO jag kan inte figurera denna ut!
I har ett IIF-meddelande (se nedanfört):

SELECT
IIF (ALLTRIM (Stub_tot.doc_id) = " 2 ", ”SoftPak”, ”Tower”) SOM SystemType;
FROM Table

However, när jag beskådar datan i MARKÖREN i dataperiodsfönstret mig, ser endast:
" SoftP” eller ”står hög "

It verkar som om det tar längden av uttrycka står hög och ger sätta in längden så därför att SoftPak är längre än, står hög den avkortar ”aken” av den min name.
So ifrågasätter är hur gör jag fixar detta?

Thanks,
Mark
" klar "

Svar : IIF sätter in längd ifrågasätter

Sätta in längden är inte beslutsamt vid IIF, men det första rekordet av resultatet, om de första rekordresultaten i ”SoftPak,” som SystemTypen sätter in skulle, är C (7), om det första rekordet är ”, står hög” SystemTypen är C (5). Det är foxproen bestämmer långt sätter in beräknade typer av uttryckssätter in.

Så cast till sätta intypen och legth som du önskar:
CAST (IIF (...) som C (7)) Som SystemType…,

eller VADDERA:
PADR (IIF (…, ”SoftPak”, ”står hög”), 7) SOM SystemType…,

eller tillfoga enkelt de nödvändiga två utrymmena ”står hög”:
IIF (…, ”SoftPak”, ”står hög”), SOM SystemType

Bye Olaf.
Andra lösningar  
 
programming4us programming4us