| От | tneumann@users.sourceforge.net |
|---|---|
| Тема | BUG #12462: NULLIF changes the argument type |
| Дата | |
| Msg-id | 20150108161155.11500.32736@wrigleys.postgresql.org обсуждение |
| Ответы |
Re: BUG #12462: NULLIF changes the argument type
|
| Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 12462 Logged by: Thomas Neumann Email address: tneumann@users.sourceforge.net PostgreSQL version: 9.4.0 Operating system: Linux 3.16.0 Description: The SQL standard in Section 6.11, Syntax rule 1 c) says that "" NULLIF (V1, V2) is equivalent to the following <case specification>: CASE WHEN V1=V2 THEN NULL ELSE V1 END "" which is currently not the case in Postgres. Postgres promotes V1 to the type of V2, which can lead to behavior changes. Example query as illustration: It should produce 0,0,0 (and does on SQL Server and DB2), but PostgreSQL promotes the type and produces 0,0.5,0 select 1/2,nullif(1,2.3)/2,case when 1=2.3 then NULL else 1 end/2
В списке pgsql-bugs по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера