pg.ddx.io pgsql-sql@postgresql.org mailing list archivehelp / color / mirror / Atom feed
From: Frank Bax <fbax@sympatico.ca>
Cc: pgsql-sql@postgresql.org
Subject: Re: Substring
Date: Sat, 05 Sep 2009 00:10:49 -0400
Message-ID: <4AA1E4C9.1000108@sympatico.ca> (raw)
In-Reply-To: <200909050802.10371.raju@linux-delhi.org>
References: <15318.85292.qm@web53905.mail.re2.yahoo.com>
<200909050802.10371.raju@linux-delhi.org>
Raj Mathur wrote:
> On Saturday 05 Sep 2009, bilal ghayyad wrote:
>> I have an sql script function that take one text parameter "funct
>> (text)", what I need to do is the following:
>>
>> If the parameter name is string and its value was for example "abcd"
>> then I need to do a query based on ab and then based on the abc, how?
>>
>> Example:
>>
>> SELECT * from voipdb where prefix like string
>>
>> But I need the string to be ab and then to be abc? How I can assign
>> the string to the first character and then to the first and second?
>> In other words, how can I can take part of the string to do query on
>> it?
>
> From your example the following brute-force method should work (not
> tested):
>
> select * from voipdb where prefix like substring(string from 1 for 2) ||
> '%' or prefix like substring(string from 1 for 3) || '%';
>
> However, I don't understand why you'd want to search for both 'ab' and
> 'abc' in the same query, since the first condition is a superset of the
> second one.
Given that tablename is "voipdb"; I wonder if OP really wants to write a
query that finds the row where argument to function matches the most
number of leading characters in "prefix".
If voipdb table contains: ab, abc, def, defg; then calling function
with "abc" or "abcd" returns "abc" and calling function with "defh"
returns "def".
If this is the real problem to be solved; then brute force is one
solution; but I'm left wondering if a single query might return desired
result (a single row).
view thread (22+ messages) latest in thread
Message-ID: <4AA1E4C9.1000108@sympatico.ca> Permalink: ../4AA1E4C9.1000108@sympatico.ca/ Also on: postgresql.org/message-id/4AA1E4C9.1000108@sympatico.ca ·
reply
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Reply to all the recipients using the --to and --cc options: reply via email To: pgsql-sql@postgresql.org Cc: fbax@sympatico.ca Subject: Re: Substring In-Reply-To: <4AA1E4C9.1000108@sympatico.ca> * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions for how to clone and mirror all data and code used for this inbox