w3school statement sqlserver que para examples sql postgresql coalesce

statement - sql coalesce que es



¿Cómo COALESCE para cadenas vacías y valores NULL? (1)

Estoy intentando hacer el COALESCE () más rápido que acepta dos o más argumentos, y devuelve el primer valor no nulo Y no vacío ("").

Estoy usando esto:

CREATE OR REPLACE FUNCTION coalescenonempty(VARIADIC in_ordered_actual varchar[]) RETURNS varchar AS $$ SELECT i FROM (SELECT unnest($1) AS i) t WHERE i IS NOT NULL AND i <> '''' LIMIT 1; $$ LANGUAGE sql;

Es bastante rápido, pero aún en ninguna parte tan rápido como las declaraciones COALESCE o CASE WHEN.

¿Qué piensas?


No crees una función de usuario si quieres velocidad. En lugar de esto:

coalescenonempty(col1,col2||''blah'',col3,''none'');

hacer esto:

COALESCE(NULLIF(col1,''''),NULLIF(col2||''blah'',''''),NULLIF(col3,''''),''none'');

Es decir, para cada parámetro no constante, rodee el parámetro real con NULLIF( x ,'''') .