Prepíšete jednoduché vetvenie a všimnete si rozdiel medzi = a ==.
ProjectWise kontext
Všeobecný výraz v ProjectWise CEL
SQL funkciaPôvodná konfigurácia ProjectWise
IIF(500 < 1000, 'YES', 'NO')
CELProjectWise CEL
500 < 1000 ? 'YES' : 'NO'
Čo je odlišné
CEL používa podmienku ? hodnota-pri-true : hodnota-pri-false. Výsledok výrazu je priamo vybraná vetva.
IIF je volanie SQL funkcie, zatiaľ čo CEL používa jazykový operátor.
Pri porovnaní rovnosti používa CEL ==, nie SQL =.
Obe vetvy by mali vracať kompatibilné typy.
Cieľ migrácie
Vyberte jednu z dvoch hodnôt podľa logickej podmienky.
Čo sa mení
SQL zapisuje vetvenie ako volanie IIF. CEL používa ternárny operátor a podmienka stojí pred otáznikom.
Prečo je CEL riešenie presnejšie
Zápis zvýrazňuje tri samostatné časti: podmienku, výsledok pri true a výsledok pri false. Pri reálnom prepise nezabudnite, že rovnosť sa v CEL zapisuje ==.
Pred nasadením
Preverte obe vetvy, nie iba úspešný prípad. Ak jedna vetva dereferencuje null objekt, výraz môže zlyhať pre konkrétne vstupy.
Zdroje
BENTLEY-PW-CEL-SQL-FUNCTIONS — oficiálne mapovanie IIF na podmienený operátor.