Condividi tramite


Valori letterali null e inferenza dei tipi (Entity SQL)

I valori letterali null sono compatibili con qualsiasi tipo nel sistema di tipi Entity SQL . Per consentire, tuttavia, la corretta inferenza del tipo di un valore letterale null, in Entity SQL vengono imposti determinati vincoli sulle posizioni in cui è possibile utilizzare un valore letterale null.

Valori null tipizzati

I valori null tipizzati possono essere utilizzati in qualsiasi posizione. L'inferenza dei tipi non è richiesta per i valori null tipizzati in quanto il tipo è noto. È ad esempio possibile costruire un valore null di tipo Int16 con il costrutto Entity SQL seguente:

(cast(null as Int16))

Valori letterali null mobili

I valori letterali null mobili possono essere utilizzati nei contesti seguenti:

  • Come argomento di un'espressione CAST o TREAT. Questa è la modalità consigliata per produrre un'espressione null tipizzata.

  • Come argomento di un metodo o di una funzione. In questo caso si applicano le regole di overload standard.

  • Come uno degli argomenti di un'espressione aritmetica, ad esempio +, - o /. Gli altri argomenti non possono essere valori letterali null. In caso contrario, l'inferenza dei tipi non è possibile.

  • Come qualsiasi argomento di un'espressione logica (AND, OR o NOT). Tutti gli argomenti sono noti come tipo Boolean.

  • Come argomento di un'espressione IS NULL o IS NOT NULL.

  • Come uno o più argomenti di un'espressione LIKE. Per tutti gli argomenti è previsto il tipo String.

  • Come uno o più argomenti di un costruttore di tipo denominato.

  • Come uno o più argomenti di un costruttore multiset. Almeno un argomento del costruttore multiset deve essere un'espressione non costituita da un valore letterale null.

  • Come una o più espressioni THEN o ELSE in un'espressione CASE. Almeno una delle espressioni THEN o ELSE nell'espressione CASE deve essere un'espressione diversa da un valore letterale null.

I valori letterali null mobili non possono essere utilizzati in altri scenari. Non possono ad esempio essere utilizzati come argomenti di un costruttore ROW.

Vedere anche

Concetti

Panoramica su Entity SQL