Tester un FLOAT dans une clause WHERE
Bonjour à tous,
Ce matin ce suis tombé sur une problème assez étonnant.
Dans SQL Server 2000, je j'ai une table CLIENT qui contient un champ [N° Client] qui est aussi la clé primaire, ce champ est un float(8)
Je m'attendais à retourner un et un seul enregistrement sur la requête :
Code:
1 2
| SELECT * FROM CLIENT
WHERE ([N° Client] = 39293.6833167824) |
Avec un point et pas une virgule
Je m'en suis sorti avec
Code:
1 2
| SELECT * FROM CLIENT
WHERE (CONVERT(FLOAT(8), [N° Client]) LIKE CONVERT(FLOAT(8), 39293.6833167824)) |
Quelqu'un saurait me dire pourquoi je dois utiliser des conversions ? et le LIKE ( le égal ne fonctionne pas) ?
Merci