Select <-> Case Insensitive

Started by Marcelo Pereiraabout 24 years ago7 messagesgeneral
Jump to latest
#1Marcelo Pereira
gandalf@sum.desktop.com.br

Hello All,

How can I do a query make the `order' statment sort the tuples without
looking for the `case' ?

I have a table like this:

cod | Description
----+----------------
1 | A
2 | B
3 | C
4 | a
5 | b
6 | c

I would like to do a `select * from thistable order by description' that
returns the following:

cod | Description
----+----------------
1 | A
4 | a
2 | B
5 | b
3 | C
6 | c

How can I do it?

[Ps.: Sorry by this simply question, but I couldn't find anything at the
man pages!!]

Thanks in advance.

Marcelo Pereira

-- Remember that only God and Esc+:w saves.
__
(_.\ Marcelo Pereira |
/ / ___ |
/ (_/ _ \__ Matematica/99 - IMECC |
_______\____/_\___)___Unicamp_______________/

#2Arguile
arguile@lucentstudios.com
In reply to: Marcelo Pereira (#1)
Re: Select <-> Case Insensitive

Marcelo Pereira writes

How can I do a query make the `order' statment sort the tuples without
looking for the `case' ?

I'm pretty sure a search of the archives would probably turn up the answer,
incase not though.

ORDER BY lower(field)

#3Devrim GUNDUZ
devrim@oper.metu.edu.tr
In reply to: Marcelo Pereira (#1)
Re: Select <-> Case Insensitive

Hi,

The query

SELECT * from mytable order by lower(description);

could solve your problem.

test=# SELECT * from mycase order by lower(descr);
code | descr
------+-------
1 | A
4 | a
2 | B
5 | b
3 | C
6 | c

Regards,

Devrim

On Fri, 22 Feb 2002, Marcelo Pereira wrote:

Hello All,

How can I do a query make the `order' statment sort the tuples without
looking for the `case' ?

I have a table like this:

cod | Description
----+----------------
1 | A
2 | B
3 | C
4 | a
5 | b
6 | c

I would like to do a `select * from thistable order by description' that
returns the following:

cod | Description
----+----------------
1 | A
4 | a
2 | B
5 | b
3 | C
6 | c

How can I do it?

[Ps.: Sorry by this simply question, but I couldn't find anything at the
man pages!!]

Thanks in advance.

Marcelo Pereira

-- Remember that only God and Esc+:w saves.
__
(_.\ Marcelo Pereira |
/ / ___ |
/ (_/ _ \__ Matematica/99 - IMECC |
_______\____/_\___)___Unicamp_______________/

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

--

Devrim GUNDUZ

devrim@oper.metu.edu.tr
devrim.gunduz@linux.org.tr
devrimg@tr.net

Web : http://devrim.oper.metu.edu.tr
------------------------------------------------------------------

#4Mark Rae
m.rae@inpharmatica.co.uk
In reply to: Devrim GUNDUZ (#3)
Re: Select <-> Case Insensitive

Devrim GUNDUZ wrote:

The query

SELECT * from mytable order by lower(description);

could solve your problem.

I seem to recall (From C/C++ at least) that you should upcase text
for case insensitive comparisons, as with some languages there is no
well defined upper->lower conversion, but there is always a
unique lower->upper transformation.

Is this correct for (Postgres)SQL locale support as well?

-Mark

--
Mark Rae Tel: +44(0)20 7074 4648
Inpharmatica Fax: +44(0)20 7074 4700
m.rae@inpharmatica.co.uk http://www.inpharmatica.co.uk/

#5Marcelo Pereira
gandalf@sum.desktop.com.br
In reply to: Arguile (#2)
Re: Select <-> Case Insensitive

Ok,

Thanks

Marcelo Pereira

-- Remember that only God and Esc+:w saves.
__
(_.\ Marcelo Pereira |
/ / ___ |
/ (_/ _ \__ Matematica/99 - IMECC |
_______\____/_\___)___Unicamp_______________/

--- Arguile, with his fast fingers, wrote:

:> Marcelo Pereira writes
:> >
:> > How can I do a query make the `order' statment sort the tuples without
:> > looking for the `case' ?
:> >
:>
:> I'm pretty sure a search of the archives would probably turn up the answer,
:> incase not though.
:>
:> ORDER BY lower(field)
:>
:>
:>

#6Marcelo Pereira
gandalf@sum.desktop.com.br
In reply to: Devrim GUNDUZ (#3)
Re: Select <-> Case Insensitive

Nice!!

Thanks!!

Marcelo Pereira

-- Remember that only God and Esc+:w saves.
__
(_.\ Marcelo Pereira |
/ / ___ |
/ (_/ _ \__ Matematica/99 - IMECC |
_______\____/_\___)___Unicamp_______________/

--- Devrim GUNDUZ, with his fast fingers, wrote:

:>
:> Hi,
:>
:> The query
:>
:> SELECT * from mytable order by lower(description);
:>
:> could solve your problem.
:>
:> test=# SELECT * from mycase order by lower(descr);
:> code | descr
:> ------+-------
:> 1 | A
:> 4 | a
:> 2 | B
:> 5 | b
:> 3 | C
:> 6 | c
:>
:> Regards,
:>
:> Devrim
:>
:> On Fri, 22 Feb 2002, Marcelo Pereira wrote:
:>
:> > Hello All,
:> >
:> > How can I do a query make the `order' statment sort the tuples without
:> > looking for the `case' ?
:> >
:> > I have a table like this:
:> >
:> > cod | Description
:> > ----+----------------
:> > 1 | A
:> > 2 | B
:> > 3 | C
:> > 4 | a
:> > 5 | b
:> > 6 | c
:> >
:> > I would like to do a `select * from thistable order by description' that
:> > returns the following:
:> >
:> > cod | Description
:> > ----+----------------
:> > 1 | A
:> > 4 | a
:> > 2 | B
:> > 5 | b
:> > 3 | C
:> > 6 | c
:> >
:> > How can I do it?
:> >
:> > [Ps.: Sorry by this simply question, but I couldn't find anything at the
:> > man pages!!]
:> >
:> > Thanks in advance.
:> >
:> > Marcelo Pereira
:> >
:> > -- Remember that only God and Esc+:w saves.
:> > __
:> > (_.\ Marcelo Pereira |
:> > / / ___ |
:> > / (_/ _ \__ Matematica/99 - IMECC |
:> > _______\____/_\___)___Unicamp_______________/
:> >
:> >
:> > ---------------------------(end of broadcast)---------------------------
:> > TIP 3: if posting/reading through Usenet, please send an appropriate
:> > subscribe-nomail command to majordomo@postgresql.org so that your
:> > message can get through to the mailing list cleanly
:> >
:>
:> --
:>
:> Devrim GUNDUZ
:>
:> devrim@oper.metu.edu.tr
:> devrim.gunduz@linux.org.tr
:> devrimg@tr.net
:>
:> Web : http://devrim.oper.metu.edu.tr
:> ------------------------------------------------------------------
:>
:>
:>
:>

#7Alexander Pucher
pucher@atlas.gis.univie.ac.at
In reply to: Marcelo Pereira (#1)
Re: Select <-> Case Insensitive

What about 'ilike' ???

http://www.postgresql.org/idocs/index.php?functions-matching.html

mfg
ALEX

--
________________________________________________________

Institut fuer Geographie und Regionalforschung
Universit�t Wien
Kartografie und Geoinformation

Departement of Geography and Regional Research
University of Vienna
Cartography and GIS

Universitaetstr. 7, A-1010 Wien, AUSTRIA

Tel: (+43 1) 4277 48644
Fax: (+43 1) 4277 48649
E-mail: pucher@atlas.gis.univie.ac.at

FTP: ftp://ftp.gis.univie.ac.at
WWW: http://www.gis.univie.ac.at/karto
________________________________________________________

"There is a difference between happiness and wisdom: he that thinks himself the happiest man is really so; but he that thinks himself the wisest is generally the greatest fool"-- Francis Bacon

Marcelo Pereira wrote:

Show quoted text

Hello All,

How can I do a query make the `order' statment sort the tuples without
looking for the `case' ?

I have a table like this:

cod | Description
----+----------------
1 | A
2 | B
3 | C
4 | a
5 | b
6 | c

I would like to do a `select * from thistable order by description' that
returns the following:

cod | Description
----+----------------
1 | A
4 | a
2 | B
5 | b
3 | C
6 | c

How can I do it?

[Ps.: Sorry by this simply question, but I couldn't find anything at the
man pages!!]

Thanks in advance.

Marcelo Pereira

-- Remember that only God and Esc+:w saves.
__
(_.\ Marcelo Pereira |
/ / ___ |
/ (_/ _ \__ Matematica/99 - IMECC |
_______\____/_\___)___Unicamp_______________/

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly