Thread: Re: [pgsql-advocacy] Oracle buys Innobase
Would you want varchar(30) 'Dann Corbit' to compare equal to bpchar(30) 'Dann Corbit'? I would. If both are considered character types by the language, then they must compare that way. Perhaps there are some nuances that I am not aware of. But that is how things ought to behave, if I were king of the forest. > -----Original Message----- > From: pgsql-general-owner@postgresql.org [mailto:pgsql-general- > owner@postgresql.org] On Behalf Of Terry Fielder > Sent: Wednesday, October 19, 2005 12:37 PM > To: Marc G. Fournier > Cc: Richard_D_Levine@raytheon.com; pgsql-general@postgresql.org > Subject: Re: [pgsql-advocacy] [GENERAL] Oracle buys Innobase > > OK, I am not an expert on the SQL standard, but I thought the definition > varied by data type e.g. varchar <> bpchar > > Terry > > Marc G. Fournier wrote: > > On Wed, 19 Oct 2005, Richard_D_Levine@raytheon.com wrote: > > > >> I was referring to trailing blanks, but did not explicitly say it, > >> though showed it in the examples. I am pretty sure that the SQL > >> standard says that trailing whitespace is insignificant in string > >> comparison. > > > > > > Then we are broken too :) > > > > # select 'a ' = 'a '; > > ?column? > > ---------- > > f > > (1 row) > > > > ---- > > Marc G. Fournier Hub.Org Networking Services > (http://www.hub.org) > > Email: scrappy@hub.org Yahoo!: yscrappy ICQ: > 7615664 > > > > ---------------------------(end of broadcast)--------------------------- > > TIP 4: Have you searched our list archives? > > > > http://archives.postgresql.org > > > > -- > Terry Fielder > terry@greatgulfhomes.com > Associate Director Software Development and Deployment > Great Gulf Homes / Ashton Woods Homes > Fax: (416) 441-9085 > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend
I agree with you, but... Actually that's not how the compare works usually. Generally one of the operands is converted to the same datatype as the other, and THEN the compare is performed. I expect MS SQL is converting a 'sdas' typeless string to be assumed CHAR and Postgresql is converting a 'sdas' typeless string to be assumed VARCHAR. Hence, the different behaviour. Terry Dann Corbit wrote: > Would you want varchar(30) 'Dann Corbit' to compare equal to bpchar(30) > 'Dann Corbit'? > > I would. > > If both are considered character types by the language, then they must > compare that way. > > Perhaps there are some nuances that I am not aware of. But that is how > things ought to behave, if I were king of the forest. > > >>-----Original Message----- >>From: pgsql-general-owner@postgresql.org [mailto:pgsql-general- >>owner@postgresql.org] On Behalf Of Terry Fielder >>Sent: Wednesday, October 19, 2005 12:37 PM >>To: Marc G. Fournier >>Cc: Richard_D_Levine@raytheon.com; pgsql-general@postgresql.org >>Subject: Re: [pgsql-advocacy] [GENERAL] Oracle buys Innobase >> >>OK, I am not an expert on the SQL standard, but I thought the > > definition > >>varied by data type e.g. varchar <> bpchar >> >>Terry >> >>Marc G. Fournier wrote: >> >>>On Wed, 19 Oct 2005, Richard_D_Levine@raytheon.com wrote: >>> >>> >>>>I was referring to trailing blanks, but did not explicitly say it, >>>>though showed it in the examples. I am pretty sure that the SQL >>>>standard says that trailing whitespace is insignificant in string >>>>comparison. >>> >>> >>>Then we are broken too :) >>> >>># select 'a ' = 'a '; >>> ?column? >>>---------- >>> f >>>(1 row) >>> >>>---- >>>Marc G. Fournier Hub.Org Networking Services >> >>(http://www.hub.org) >> >>>Email: scrappy@hub.org Yahoo!: yscrappy ICQ: >> >>7615664 >> >>>---------------------------(end of > > broadcast)--------------------------- > >>>TIP 4: Have you searched our list archives? >>> >>> http://archives.postgresql.org >>> >> >>-- >>Terry Fielder >>terry@greatgulfhomes.com >>Associate Director Software Development and Deployment >>Great Gulf Homes / Ashton Woods Homes >>Fax: (416) 441-9085 >> >>---------------------------(end of > > broadcast)--------------------------- > >>TIP 6: explain analyze is your friend > > -- Terry Fielder terry@greatgulfhomes.com Associate Director Software Development and Deployment Great Gulf Homes / Ashton Woods Homes Fax: (416) 441-9085
On 10/19/2005 3:46 PM, Dann Corbit wrote: > Would you want varchar(30) 'Dann Corbit' to compare equal to bpchar(30) > 'Dann Corbit'? > > I would. wieck=# select 'Jan'::varchar(20) = 'Jan'::char(20); ?column? ---------- t (1 row) wieck=# select 'Jan'::char(20) = 'Jan'::varchar(20); ?column? ---------- t (1 row) wieck=# select version(); version --------------------------------------------------------------------- PostgreSQL 8.0.4 on i386-unknown-freebsd4.9, compiled by GCC 2.95.4 (1 row) Did I miss anything? Jan > > If both are considered character types by the language, then they must > compare that way. > > Perhaps there are some nuances that I am not aware of. But that is how > things ought to behave, if I were king of the forest. > >> -----Original Message----- >> From: pgsql-general-owner@postgresql.org [mailto:pgsql-general- >> owner@postgresql.org] On Behalf Of Terry Fielder >> Sent: Wednesday, October 19, 2005 12:37 PM >> To: Marc G. Fournier >> Cc: Richard_D_Levine@raytheon.com; pgsql-general@postgresql.org >> Subject: Re: [pgsql-advocacy] [GENERAL] Oracle buys Innobase >> >> OK, I am not an expert on the SQL standard, but I thought the > definition >> varied by data type e.g. varchar <> bpchar >> >> Terry >> >> Marc G. Fournier wrote: >> > On Wed, 19 Oct 2005, Richard_D_Levine@raytheon.com wrote: >> > >> >> I was referring to trailing blanks, but did not explicitly say it, >> >> though showed it in the examples. I am pretty sure that the SQL >> >> standard says that trailing whitespace is insignificant in string >> >> comparison. >> > >> > >> > Then we are broken too :) >> > >> > # select 'a ' = 'a '; >> > ?column? >> > ---------- >> > f >> > (1 row) >> > >> > ---- >> > Marc G. Fournier Hub.Org Networking Services >> (http://www.hub.org) >> > Email: scrappy@hub.org Yahoo!: yscrappy ICQ: >> 7615664 >> > >> > ---------------------------(end of > broadcast)--------------------------- >> > TIP 4: Have you searched our list archives? >> > >> > http://archives.postgresql.org >> > >> >> -- >> Terry Fielder >> terry@greatgulfhomes.com >> Associate Director Software Development and Deployment >> Great Gulf Homes / Ashton Woods Homes >> Fax: (416) 441-9085 >> >> ---------------------------(end of > broadcast)--------------------------- >> TIP 6: explain analyze is your friend > > ---------------------------(end of broadcast)--------------------------- > TIP 6: explain analyze is your friend -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com #
"Dann Corbit" <DCorbit@connx.com> writes: > Would you want varchar(30) 'Dann Corbit' to compare equal to bpchar(30) > 'Dann Corbit'? > I would. And your point is? regression=# select varchar(30) 'Dann Corbit' = char(30) 'Dann Corbit'; ?column? ---------- t (1 row) regards, tom lane