回复:Re: The != and +/- signs are joined together as an operator

Started by 谭忠涛about 1 year ago2 messagesbugs
Jump to latest
#1谭忠涛
zhongtao.tan@seaboxdata.com

But "!=" is not the same as&nbsp; "<&gt;"

1!=-1,&nbsp; "!=-" as a whole is treated as an operator, not as an operator "!=" -1, but in 1<&gt;-1, it is treated as "<&gt;" -1 instead of "<&gt;-" as a whole&nbsp; is treated as an operator
I think "!=" and "<&gt;" should be treated in the same way

Regards

Tom Lane<tgl@sss.pgh.pa.us&gt;&nbsp;在 2025年3月19日 周三 22:34 写道:

"David G. Johnston" <david.g.johnston@gmail.com&gt; writes:
&gt; On Tuesday, March 18, 2025, 谭忠涛 <zhongtao.tan@seaboxdata.com&gt; wrote:
&gt;&gt; select 1 !=-1;
&gt;&gt; select 1 !=+1;

&gt; Explain why you think it is a bug.&nbsp; From what I see those are potentially
&gt; valid operator names that do not exist so “operator not found” is the
&gt; correct outcome.

Our rules for operator names are here:

https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-OPERATORS

regards, tom lane

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: 谭忠涛 (#1)
Re: 回复:Re: The != and +/- signs are joined together as an operator

"=?utf-8?B?6LCt5b+g5rab?=" <zhongtao.tan@seaboxdata.com> writes:

But "!=" is not the same as "<>"
1!=-1, "!=-" as a whole is treated as an operator, not as an operator "!=" -1, but in 1<>-1, it is treated as "<>" -1 instead of "<>-" as a whole is treated as an operator
I think "!=" and "<>" should be treated in the same way

[ shrug... ] It's not going to happen. The PG project's position,
as stated in the docs I pointed you to, is that you should write a
space between adjacent operators. The SQL spec thinks differently,
so we've made sure that you can leave out space between operators
that are defined in the SQL standard, but that's as far as we'll go.
There are too many existing operators, both within PG core and
elsewhere, that would be broken by changing those rules now.

regards, tom lane