According to official 11g docsQual è il modo corretto di verificare se varchar2 è vuoto?
Oracle Database attualmente considera un valore di carattere con una lunghezza di zero come nullo. Tuttavia, questo potrebbe non continuare ad essere vero nelle future versioni di e Oracle consiglia di non considerare le stringhe vuote uguali a null.
consideri una funzione getVersion
che restituisce un varchar2 che potrebbe eventualmente essere ''
:
l_version := x.getVersion;
if l_version is null then
return 'V.1.0';
end if;
questo funzionerà correttamente sul corrente 11g di Oracle, ma potrebbe rompere al più presto le future versioni di Oracle trattano ''
in modo diverso rispetto null
.
L'unico modo che vedo a fare la prova di futuro sopra è:
if l_version is null or l_version = '' then
Esiste un modo meno ingombrante?
seguo anche lo stesso "se l_version è null o l_version = '' then" – Sachu
@Alex Sì, certo che hai ragione. Stavo facendo il buffone con quel commento:/lo rimuoverò in pochissimo tempo ... –