Re: [HACKERS] NULL concatenation - Mailing list pgsql-general

From Sridhar N Bamandlapally
Subject Re: [HACKERS] NULL concatenation
Date
Msg-id CAGuFTBVKmcFBV9gXaR-0qKsam4GP_GA4MsyBV_YZwaQwmYzWmg@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] NULL concatenation  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-general
Thanks Pavel

Great !!

I was thinking both || and CANCAT does same

Thanks again

-
Sridhar
OpenText


On Thu, May 12, 2016 at 2:22 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
Hi

2016-05-12 10:47 GMT+02:00 Sridhar N Bamandlapally <sridhar.bn1@gmail.com>:
Hi

In migration, am facing issue with NULL concatenation in plpgsql, 
by concatenating NULL between any where/position to Text / Varchar, the total string result is setting value to NULL


In Oracle:

declare
    txt1 VARCHAR2(100) := 'ABCD';
    txt2 VARCHAR2(100) := NULL;
    txt3 VARCHAR2(100) := 'EFGH';
    txt VARCHAR2(100) := NULL;
begin
  txt:= txt1 || txt2 || txt3;
  dbms_output.put_line (txt);
end;
/

abcdefgh   ===>return value



In Postgres

do $$
declare
    txt1 text := 'ABCD';
    txt2 text := NULL;
    txt3 text := 'EFGH';
    txt text := NULL;
begin
    txt:= txt1 || txt2 || txt3;
    raise notice '%', txt;
end$$ language plpgsql;

NOTICE:  <NULL>  ===> return value


SQL-Server also does same like Oracle

Is there any way alternate we have for same behavior in PostgreSQL

use function concat http://www.postgresql.org/docs/9.5/static/functions-string.html

 postgres=# select concat('AHOJ', NULL,'XXX');
 concat 
---------
 AHOJXXX
(1 row)

Regards

Pavel


Please

Thanks
Sridhar
OpenText



pgsql-general by date:

Previous
From: Tim Clarke
Date:
Subject: Re: NULL concatenation
Next
From: sangeetha
Date:
Subject: Alternate or Optimization for with hold cursor