COALESCE doccumentation
От | PG Doc comments form |
---|---|
Тема | COALESCE doccumentation |
Дата | |
Msg-id | 155639681797.1368.1856073093791885251@wrigleys.postgresql.org обсуждение исходный текст |
Ответы |
Re: COALESCE doccumentation
|
Список | pgsql-docs |
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/11/functions-conditional.html Description: The documentation says: "The COALESCE function returns the first of its arguments that is not null. Null is returned only if all arguments are null. It is often used to substitute a default value for null values when data is retrieved for display, for example" Which is NOT TRUE. In addition, it is obscure and misleading. The COALESCE(<value expression>, ..., <value expression>) scans the list of <value expression>s from left to right, determines the highest data type in the list and returns the first non-NULL in the list, casting it to the highest data type selected in the previous step, but if all the <value expressions>s are NULL, the result is NULL. In case when any of the <value expressions>s in the list cannot be evaluated to the highest data type then exception is thrown. Try, for example. SELECT COALESCE(NULL, '12', 3, 1, 1); -- OK! SELECT COALESCE(NULL, '12.2', 3.2, '1', 1.1); -- OK! SELECT COALESCE(NULL, '1d2', 3, 1, 1); -- error SELECT COALESCE(NULL, '12', 3, '1d', 1); -- cast error Thanks.
В списке pgsql-docs по дате отправления: