Autor Tópico: Campo do Tipo Date  (Lida 237 vezes)

julioalbuquerque

  • Iniciante
  • **
  • Mensagens: 89
    • Email
Campo do Tipo Date
« Online: Maio 19, 2016, 11:44:35 am »
Uso o SC 8.1.040 com MSSQL Server.

Estou com problemas para usar campos do tipo DATE nas consultas.
Por exemplo, em uma tabela tenho o campo DTVENCIMENTO com o tipo DATE. A inclusão é feita normalmente.
Mas não consigo usar este campo nas consultas, ele é retornado como sendo tipo SQL = VARCHAR, não reconhece que é do tipo DATE.
Consequentemente não posso usar como filtro esse campo, pois é reconhecido como VARCHAR.
Mesmo que eu informe na configuração do campo na consulta como sendo do tipo Data, ao tentar executar a consulta, após informar o período de data recebo o seguinte erro:
Citar
Atenção
Erro ao acessar o banco de dados
Conversion failed when converting date and/or time from character string.
select count(*), sum(l.VLLANCAMENTO) as sum_l_vllancamento, sum(l.vlpago) as sum_l_vlpago, sum(l.vlsaldo) as sum_l_vlsaldo from frota_lancamento l inner join frota_centrofinanceiro cf on l.idcentrofinanceiro = cf.idcentrofinanceiro inner join frota_conta c on l.idconta = c.idconta inner join frota_empresa e on l.idempresa = e.idempresa inner join frota_centrocusto cc on l.idcentrocusto = cc.idcentrocusto left outer join frota_fornecedor f on l.idfornecedor = f.idfornecedor left outer join frota_funcionario ff on l.idfuncionario = ff.idfuncionario where l.TPLANCAMENTO='0' and l.VLSALDO > 0 and ( l.DTVENCIMENTO between 'aaaa-01-01' and 'aaaa-12-31' )

Notem que a data fica "mal formada", o ano não é reconhecido.
Alguém já passou por isso? Existe alguma solução?
Para campos do tipo Data e Hora isso não acontece.

Yuri Esteves

  • Administrator
  • Expert
  • *****
  • Mensagens: 819
    • Email
Re:Campo do Tipo Date
« Responder #1 Online: Maio 19, 2016, 01:19:46 pm »
Qual o modelo do SGBD usado nas conexões? Ex: Native SRV,Native PDO, ODBC ou Mssql Server?

julioalbuquerque

  • Iniciante
  • **
  • Mensagens: 89
    • Email
Re:Campo do Tipo Date
« Responder #2 Online: Maio 19, 2016, 01:41:19 pm »
Mssql Server

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Campo do Tipo Date
« Responder #3 Online: Maio 19, 2016, 01:49:11 pm »
Só por curiosidade...

Configura ele pra acessar PDO e cria uma consulta nova e veja se o campo DATE, se puxou como DATE no tipo de campo.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

julioalbuquerque

  • Iniciante
  • **
  • Mensagens: 89
    • Email
Re:Campo do Tipo Date
« Responder #4 Online: Maio 19, 2016, 02:05:54 pm »
Jailton,
criei uma nova conexão utilizando PDO e fiz o teste, funcionou!
Valeu!
Isso estava me dando uma enorme dor de cabeça!
Pena que vários campos eu já mudei para DATETIME devido a isso.

Vou estudar qual a diferença entre esses tipos de conexões (PDO,SQL SERVER,etc).

Jailton

  • Expert
  • *****
  • Mensagens: 2041
Re:Campo do Tipo Date
« Responder #5 Online: Maio 19, 2016, 02:32:48 pm »
Jailton,
criei uma nova conexão utilizando PDO e fiz o teste, funcionou!
Valeu!
Isso estava me dando uma enorme dor de cabeça!
Pena que vários campos eu já mudei para DATETIME devido a isso.

Vou estudar qual a diferença entre esses tipos de conexões (PDO,SQL SERVER,etc).

Por isso que eu sempre recomendo o PDO, eu uso para vários bancos 'diferentes MySQL/MariaDB/SQlite/Firebird/Access' e sempre dá certo, porque a vantagem do PDO
é que ele 'padroniza' os campos SQL.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

julioalbuquerque

  • Iniciante
  • **
  • Mensagens: 89
    • Email
Re:Campo do Tipo Date
« Responder #6 Online: Maio 19, 2016, 02:34:46 pm »
Obrigado pela informação.