Olá pessoal,
Estou com um DBLINK fazendo conexão entre o Oracle 11G e o Sql Server 2014. A conexão e o retorno dos dados está ok.
Mas os campos de valor... no sqlserver, tenho um campo 'troco' no formato decimal(15,4). E lá tem um valor 98.7300
Quando faço o select no oracle, ele me retorna somente 98.
Já tentei cast, convert, mas nada faz retornar 98,73, que seria o valor que preciso.
Alguém já passou por alguma situação parecida?
Conversão de dados DBLINK
- bessa_lucas
- Rank: Programador Sênior
- Mensagens: 55
- Registrado em: Sex, 17 Out 2014 3:02 pm
Lucas Bessa
Analista de Sistemas
lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com
Analista de Sistemas
lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com
- souldeath
- Rank: Programador Sênior
- Mensagens: 48
- Registrado em: Qua, 25 Ago 2010 9:39 am
- Localização: Limeira
bessa_lucas, nunca trabalhei com dblink dessa forma, pode postar como está fazendo a consulta? Você já tentou usar to_char pra pegar esse campo decimal? Talvez tentando trazer esse campo como texto não seja feito truncate.
- adrianoturbo
- Moderador
- Mensagens: 393
- Registrado em: Qui, 20 Mar 2008 4:09 pm
- Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----
---Para cada problema dificil existe uma solução simples.----
Brother,o jeito mais prático é utilizar a function Trunc ,basta definir o número de casas decimais depois da virgula conforme o exemplo abaixo e adaptar da forma que bem entender:
Bom é isso ,espero te ajudado,boa sorte.
[oracle@adriano root]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.4.0 Production on Tue Dec 6 16:31:33 2016
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
SQL> SELECT TRUNC (98.73, 2) AS valor FROM DUAL;
VALOR
----------
98.73
SQL>
-
- Rank: DBA Júnior
- Mensagens: 228
- Registrado em: Ter, 19 Jun 2007 2:12 pm
- Localização: São Paulo - SP
Bom dia bessa,
Dá uma olhada nesse link
https://support.microsoft.com/en-us/kb/3051993
espero que ajude.
Dá uma olhada nesse link
https://support.microsoft.com/en-us/kb/3051993
espero que ajude.
- bessa_lucas
- Rank: Programador Sênior
- Mensagens: 55
- Registrado em: Sex, 17 Out 2014 3:02 pm
Lucas Bessa
Analista de Sistemas
lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com
Analista de Sistemas
lucas.bessa@obers.com.br
lucas.bessa.ti@gmail.com
Pessoal, acho que descobri.
Já tinha tentado o trunc também...
É uma diferença de caracteres entre os bancos.
Foi só adicionar a linha de HS_LANGUAGE no arquivo do HS
HS_FDS_CONNECT_INFO = SQLSERVER
HS_FDS_TRACE_LEVEL = 0
HS_LANGUAGE="AMERICAN_AMERICA.AL32UTF8"
Estou fazendo um teste no XE e o padrão de caracteres dele é diferente.
Que agora começou a aparecer.
Já tinha tentado o trunc também...
É uma diferença de caracteres entre os bancos.
Foi só adicionar a linha de HS_LANGUAGE no arquivo do HS
HS_FDS_CONNECT_INFO = SQLSERVER
HS_FDS_TRACE_LEVEL = 0
HS_LANGUAGE="AMERICAN_AMERICA.AL32UTF8"
Estou fazendo um teste no XE e o padrão de caracteres dele é diferente.
Que agora começou a aparecer.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot], Google [Bot] e 2 visitantes