Vejam
Digamos que eu tenha uma tabela com as seguintes linhas (dados):
Código: Selecionar todos
#registro fkcc fkprodcc fkloteprodcc idfecha
1 5 31 3 2029
2 5 31 5 2029
3 5 32 3 2029
4 7 1 1 2029
5 8 1 7 2029
o que quero é que quando dê o select abaixo:
Código: Selecionar todos
select fkcc,fkprodcc,fkloteprodcc from movcentrocusto where idfecha = 2029 and fkcc != 5 and fkprodcc != 31 and fkloteprodcc != 3
Ele deveria trazer para mim todos os registros que sejam totalmente diferente do registro 1, portanto ele deveria retornar
os registros 2,3,4,5. O select esta correto, mas ele traz apenas os registros 4 e 5, dai quando eu transformo tudo em texto e concateno dai funciona.
Código: Selecionar todos
select fkcc,fkprodcc,fkloteprodcc from movcentrocusto where idfecha = 2029 and concat(cast(fkcc as text),cast(fkprodcc as text),cast(fkloteprodcc as text)) <> '5313'
o que me causou estranheza, pois o primeiro comando é exatamente igual, mas comparo inteiros com inteiros, ja no segundo comparo alfanuméricos com alfanuméricos e o resultado é diferente, no caso ai, o segundo comando é o correto.