Length returns NULL ? - Mailing list pgsql-general

From Marcos Pegoraro
Subject Length returns NULL ?
Date
Msg-id CAB-JLwZmKYDT=0WSkvKHLqaejxWoMjBok3YjUtAtM1U8=N__0g@mail.gmail.com
Whole thread Raw
Responses Re: Length returns NULL ?
List pgsql-general
There are some functions called ...length, but only array_length returns NULL on empty array, why ?

select array_length('{}'::text[],1), -->NULL
       jsonb_array_length('[]'), -->0
       bit_length(''), -->0
       octet_length(''), -->0
       length(''), -->0
       char_length(''), -->0
       length(B''); -->0

I know, it is documented, but the question is, why does it work differently ?

array_length ( anyarrayinteger ) → integer
Returns the length of the requested array dimension. (Produces NULL instead of 0 for empty or missing array dimensions.)

array_length(array[1,2,3], 1) → 3
array_length(array[]::int[], 1) → NULL
array_length(array['text'], 2) → NULL

pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Variant (Untyped) parameter for function/procedure
Next
From: Erik Wienhold
Date:
Subject: Re: Length returns NULL ?