Pegar PArte de uma string, tem como?
Olá, em outra discussão, mencionei meu problema com o Cast, agora me veio uma questao..
Tenho a string: 12,8
De certo o interbase so aceita decimal com ponto, então pensei em pegar a parte antes da virgula e depois da virgula, juntar com um ponto e dar um cast nele, assim teoricamente teria que dar certo, porém como faço isso no PSQL? Pois em Delphi é facil.. :D
existe alguma UDF que faça isso? ou que transforme?
Desde já agradeço
Tenho a string: 12,8
De certo o interbase so aceita decimal com ponto, então pensei em pegar a parte antes da virgula e depois da virgula, juntar com um ponto e dar um cast nele, assim teoricamente teria que dar certo, porém como faço isso no PSQL? Pois em Delphi é facil.. :D
existe alguma UDF que faça isso? ou que transforme?
Desde já agradeço
Titanius
Curtidas 0
Respostas
Thomaz_prg
05/12/2005
Para tirar parte de uma string:
SUBSTRING( <string expr> FROM <pos> [FOR <length>])
Usaria assim:
Select Cast( Substring( Campo FROM 1 FOR 2 )||´.´||Substring(Campo FROM 4) as Decimal(10,2) ) as Valor From Tabela
Mas o exemplo que coloquei acima, apenas substitui o exemplo que você mostrou (12,5). Mas você pode construir uma UDF para fazer isso... não é muito complicado não.
SUBSTRING( <string expr> FROM <pos> [FOR <length>])
Usaria assim:
Select Cast( Substring( Campo FROM 1 FOR 2 )||´.´||Substring(Campo FROM 4) as Decimal(10,2) ) as Valor From Tabela
Mas o exemplo que coloquei acima, apenas substitui o exemplo que você mostrou (12,5). Mas você pode construir uma UDF para fazer isso... não é muito complicado não.
GOSTEI 0
Titanius
05/12/2005
Valeu tomaz... fiz uma UDF, que assim, funciona pra qualquer numero.. :D
Obrigado.
Obrigado.
GOSTEI 0