PW01-L05 · Priamy prepis

Podmienená hodnota

Nahraďte SQL IIF ternárnym operátorom CEL.

Špecifické pre ProjectWise
Výsledok migrácie

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.

  1. IIF je volanie SQL funkcie, zatiaľ čo CEL používa jazykový operátor.
  2. Pri porovnaní rovnosti používa CEL ==, nie SQL =.
  3. 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.