[firebase-br] RES: Converter OCTETS

Carlos H. Cantu listas em warmboot.com.br
Segunda Dezembro 21 12:06:00 -03 2020


MMSvl> Cantu

MMSvl> Aproveitando a sua abordagem, e creio que não vai existir uma pessoa 
MMSvl> melhor pra explicar isso: qual seria o melhor tipo para octets, visto 
MMSvl> que ele tem tamanho fixo, ou nesse caso tanto faz o tipo?


Não é porque o chartset é octets que ele terá tamanho fixo. Na verdade
o que manda é o tipo de informação que vc grava... por exemplo, cep,
cnpj, etc. são informações com tamanho fixo.

Enfim, se a informação que vc vai armazenar terá sempre o mesmo
tamanho, usando char você vai economizar 2 bytes de armazenamento em
relação ao varchar.


MMSvl> Mas o varchar aceita mais informações que o char, correto?

Os limites são praticamente iguais, sendo que com o CHAR pode
armazenar 32767 bytes e com o VARCHAR 32763. Os 2 bytes a menos é
porque o Firebird usa eles pra guardar o tamanho da informação que
está gravada.

Outra coisa é que na hora de transferir a informação do servidor pro
cliente, o char será sempre trafegado com o tamanho definido no campo.
Em redes de alta latência isso pode fazer diferença se a informação
armazenada for menor do que o tamanho definido na metadata.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

MMSvl> Cantu

MMSvl> Aproveitando a sua abordagem, e creio que não vai existir uma pessoa 
MMSvl> melhor pra explicar isso: qual seria o melhor tipo para octets, visto 
MMSvl> que ele tem tamanho fixo, ou nesse caso tanto faz o tipo?

MMSvl> Outra duvida, vou falou que:

MMSvl> A única diferença entre
MMSvl> char e varchar é que o primeiro retorna um tamanho fixo do string
MMSvl> (completando com espaços em branco se for necessário) e o segundo
MMSvl> retorna o dado no tamanho "real", além de ocupar menos espaço de
MMSvl> armazenamento.

MMSvl> Mas o varchar aceita mais informações que o char, correto?



MMSvl> Em 21/12/2020 10:50, Carlos H. Cantu via lista escreveu:
>> Basta você declarar o retorno da procedure como varchar ao invés de char.
>>
>> Honestamente, não sei se entendi seu problema. A única diferença entre
>> char e varchar é que o primeiro retorna um tamanho fixo do string
>> (completando com espaços em branco se for necessário) e o segundo
>> retorna o dado no tamanho "real", além de ocupar menos espaço de
>> armazenamento. O charset octets pode ser usando tanto com char como
>> varchar.
>>
>> []s
>> Carlos H. Cantu
>> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>
>> r> Acho que até seria, mas não sei como fazer isso, por isso
>> r> precisaria uma função pra converter.
>>
>> r> Grato
>>
>> r> Enviado do Email para Windows 10
>>
>> r> De: Carlos H. Cantu via lista
>> r> Enviado:segunda-feira, 21 de dezembro de 2020 10:35
>> r> Para: FireBase
>> r> Cc:Carlos H. Cantu
>> r> Assunto: Re: [firebase-br] Converter OCTETS
>>
>> r> Não entendi... vc tem um campo CHAR e quer pegar o resultado como
>> r> sendo um VARCHAR? Não seria melhor então definir logo de cara o
>> r> resultado como VARCHAR ao invés de usar CHAR?
>>
>> r> []s
>> r> Carlos H. Cantu
>> r> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
>> r> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>
>>
>> rvl>> Bom dia!
>>
>> rvl>> Tenho uma procedure que retorna CHAR(32) CHARACTER SET OCTETS.
>>
>> rvl>> No IBExpert consigo pegar o resultado em VARCHAR mas quando faço
>> rvl>> Um select em meu sistema, não consigo.
>>
>> rvl>> Como faço para converter OCTETS em varchar?
>>
>> rvl>> Grato
>>
>>
>>
>> r> ______________________________________________
>> r> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> r> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> r> http://www.firebase.com.br/fb/artigo.php?id=1107
>> r> Para consultar mensagens antigas:
>> r> http://www.firebase.com.br/pesquisa_lista.html
>>
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista.html

MMSvl> ______________________________________________
MMSvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
MMSvl> Para saber como gerenciar/excluir seu cadastro na lista, use:
MMSvl> http://www.firebase.com.br/fb/artigo.php?id=1107
MMSvl> Para consultar mensagens antigas:
MMSvl> http://www.firebase.com.br/pesquisa_lista.html




Mais detalhes sobre a lista de discussão lista