W SQL Server możemy wpisać, IsNull()
aby określić, czy pole jest puste. Czy w PL / SQL jest równoważna funkcja?
sql-server
oracle
tsql
plsql
Goran
źródło
źródło
COALESCE
to ANSI, obsługiwane przez Postgres, MySQL ... Jedynym zastrzeżeniem jest to, że niekoniecznie działa tak szybko, jak natywna składnia.COALESCE
, co ma jedną ważną zaletęNVL
: przeprowadza ocenę skrótów, podczas gdyNVL
zawsze ocenia oba parametry. PorównajCOALESCE(1,my_expensive_function)
zNVL(1,my_expensive_function)
.COALESE()
funkcja jest świetna i możesz o niej poczytać na MSDOC> COALESCE - ta sama składnia działa na Oracle. Jeśli dane ma puste ciągi zamiast wartości null może trzeba coś takiego:COALESCE(TRIM(Tbl.myField1), TRIM(Tbl.myField2)) AS "myNewField"
.Zamiast
ISNULL()
używaćNVL()
.T-SQL:
PL / SQL:
źródło
Użyj również
NVL2
jak poniżej, jeśli chcesz zwrócić inną wartość zfield_to_check
:Użycie: ORACLE / PLSQL: FUNKCJA NVL2
źródło
Możesz użyć warunku
if x is not null then...
. To nie jest funkcja. Jest teżNVL()
funkcja, dobry przykład użycia tutaj: funkcja NVL ref .źródło