Re: [GENERAL] Get tables ending with numbers - Mailing list pgsql-general

From Tom Lane
Subject Re: [GENERAL] Get tables ending with numbers
Date
Msg-id 16397.1487140533@sss.pgh.pa.us
Whole thread Raw
In response to [GENERAL] Get tables ending with numbers  (Sathesh S <sathesh.sundaram@hotmail.com>)
List pgsql-general
Sathesh S <sathesh.sundaram@hotmail.com> writes:
> Im trying to get tables ending with numbers (last 8 characters should be numbers).

> For example: I have the tables "test_20160215" and "test_20160131" and "test_1". When i run the below sql im not
gettingany output. 

> Select relname from pg_class where relname like '%[0-9]'

> Can someone please give some idea on this.

You're confusing SQL LIKE patterns with POSIX regexp patterns.  "%" is
a wildcard only in the former; "[...]" is special only in the latter.
(The great thing about standards is there are so many to choose from :-()

A correct implementation of your stated requirement is
    where relname ~ '[0-9]$'
or if you want to be picky about "last 8 characters" you could do
    where relname ~ '[0-9]{8}$'
See
https://www.postgresql.org/docs/current/static/functions-matching.html

            regards, tom lane


pgsql-general by date:

Previous
From: "Charles Clavadetscher"
Date:
Subject: Re: [GENERAL] Get tables ending with numbers
Next
From: Karsten Hilbert
Date:
Subject: Re: [GENERAL] Bad planning data resulting in OOM killing of postgres