Bom Dia Matheus

E fixo sim, e obrigado pela ajuda

[]s
Luiz

Em 15 de outubro de 2012 08:41, Matheus de Oliveira <
[email protected]> escreveu:

>
>
> 2012/10/14 Luiz Rafael Culik <[email protected]>
>
>>
>>
>> Em 14 de outubro de 2012 20:35, Matheus de Oliveira <
>> [email protected]> escreveu:
>>
>>
>>>
>>> 2012/10/14 Luiz Rafael Culik <[email protected]>
>>>
>>>>
>>>>
>>>> Em 14 de outubro de 2012 20:26, Matheus de Oliveira <
>>>> [email protected]> escreveu:
>>>>
>>>>
>>>>>
>>>>> On Sun, Oct 14, 2012 at 7:48 PM, Luiz Rafael <[email protected]>wrote:
>>>>>
>>>>>>   Boa Noite
>>>>>>
>>>>>>  Gostaria de ajuda pra um pequeno problema
>>>>>>
>>>>>>  tenho uma tabela com a seguinte estrutura
>>>>>>
>>>>>>  CREATE TABLE xxced2
>>>>>> (
>>>>>>   sr_recno bigserial NOT NULL,
>>>>>>   indkey_001 character varying(254),
>>>>>>   CONSTRAINT xxced2_sr_recno_key UNIQUE (sr_recno)
>>>>>> )
>>>>>> WITH (
>>>>>>   OIDS=FALSE
>>>>>> );
>>>>>>
>>>>>> CREATE INDEX xxced2_xxced11
>>>>>>   ON xxced2
>>>>>>   USING btree
>>>>>>   (indkey_001 COLLATE pg_catalog."default" NULLS FIRST);
>>>>>>
>>>>>> com os seguintes dados
>>>>>> sr_recno; indkey_001
>>>>>> 154;"201223.3.90.05.54            154"
>>>>>> 155;"201223.3.90.05.55            155"
>>>>>> 156;"201223.3.90.05.56            156"
>>>>>> 157;"201223.3.90.05.61            157"
>>>>>> 158;"201223.3.90.05.99            158"
>>>>>> 159;"201223.3.90.06.00            159"
>>>>>> 160;"201223.3.90.07.00            160"
>>>>>> 161;"201223.3.90.08.00            161"
>>>>>> 162;"201223.3.90.08.01            162"
>>>>>> 163;"201223.3.90.08.02            163"
>>>>>> 164;"201223.3.90.08.03            164"
>>>>>> 165;"201223.3.90.08.99            165"
>>>>>> 166;"201223.3.90.09.00            166"
>>>>>> 167;"201223.3.90.09.02            167"
>>>>>> 168;"201223.3.90.09.04            168"
>>>>>> 169;"201223.3.90.09.05            169"
>>>>>> 170;"201223.3.90.09.06            170"
>>>>>> 171;"201223.3.90.10.00            171"
>>>>>> 172;"201223.3.90.14.00            172"
>>>>>> 173;"201223.3.90.14.14            173"
>>>>>> 174;"201223.3.90.14.16            174"
>>>>>> 175;"201223.3.90.15.00            175"
>>>>>> 176;"201223.3.90.16.00            176"
>>>>>> 177;"201223.3.90.18.00            177"
>>>>>> 178;"201223.3.90.19.00            178"
>>>>>> 179;"201223.3.90.20.00            179"
>>>>>> 180;"201223.3.90.26.00            180"
>>>>>> 181;"201223.3.90.27.00            181"
>>>>>> 182;"201223.3.90.28.00            182"
>>>>>> 183;"201223.3.90.30.00            183"
>>>>>> 184;"201223.3.90.30.01            184"
>>>>>> 185;"201223.3.90.30.02            185"
>>>>>> 186;"201223.3.90.30.03            186"
>>>>>> 187;"201223.3.90.30.04            187"
>>>>>> 188;"201223.3.90.30.05            188"
>>>>>> 189;"201223.3.90.30.06            189"
>>>>>> 190;"201223.3.90.30.07            190"
>>>>>> 191;"201223.3.90.30.08            191"
>>>>>> 192;"201223.3.90.30.09            192"
>>>>>> 193;"201223.3.90.30.10            193"
>>>>>> 194;"201223.3.90.30.11            194"
>>>>>> 195;"201223.3.90.30.12            195"
>>>>>> 196;"201223.3.90.30.13            196"
>>>>>> 197;"201223.3.90.30.14            197"
>>>>>> 198;"201223.3.90.30.15            198"
>>>>>> 199;"201223.3.90.30.16            199"
>>>>>> 200;"201223.3.90.30.17            200"
>>>>>> 201;"201223.3.90.30.18            201"
>>>>>> 202;"201223.3.90.30.19            202"
>>>>>> 203;"201223.3.90.30.20            203"
>>>>>> 204;"201223.3.90.30.21            204"
>>>>>>
>>>>>> Agora vem o problema
>>>>>>
>>>>>> se eu usar a query
>>>>>>
>>>>>> SELECT  A."sr_recno", A."indkey_001" FROM "xxced1" A  WHERE (
>>>>>>     A."indkey_001" <= E'201223.3.90.30.00' )  ORDER BY
>>>>>>   A."indkey_001"   desc
>>>>>>
>>>>>> o registro com a informacao 201223.3.90.30.00 no campo indkey não e
>>>>>> retornado
>>>>>> alguma sugestao?
>>>>>>
>>>>>
>>>>> Pelos dados que você passou, não tem essa informação mesmo, apenas
>>>>> o "201223.3.90.30.00    183", que contém "<epaços>183" concatenado à 
>>>>> "201223.3.90.30.00",
>>>>> e, portanto é maior que "201223.3.90.30.00". Verifique melhor os dados,
>>>>> talvez concatenando algum caracter antes e depois para verificar se não há
>>>>> espaços ou caracteres não imprimívies.
>>>>>
>>>>>
>>>> Matheus
>>>>
>>>> Se eu  usar um select substr resolveria o meu problema?
>>>>
>>>>
>>> Depende, qual exatamente é o seu problema?
>>>
>>>
>>>
>>> Matheus
>>>
>>
>> Eu preciso trazer tudo que for <= ao dado independente da concatenação ou
>> seja se pedisse <= 201223.3.90.30.00
>> teria que trazer por exemplo
>>
>> 183;"201223.3.90.30.00"
>> 182;"201223.3.90.28.00"
>>
>>
>
> Bom, se for fixa a quantidadde de caracteres:
>
> SELECT substr('201223.3.90.30.21            204', 1, 17);
>
> Agora, se for um padrão sempre números e pontos no começo, mas não
> exatamente 17 caracteres, você pode usar uma expressão regular, ex:
>
> SELECT regexp_replace('201223.3.90.30.21            204', '^([0-9.]*).*$',
> E'\\1');
>
> Se não for nenhum caso, explique melhor a formação desse campo.
>
>
> Atenciosamente,
> --
> Matheus de Oliveira
> Analista de Banco de Dados PostgreSQL
> Dextra Sistemas - MPS.Br nível F!
> www.dextra.com.br/postgres
>
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a