Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server et conversion implicite des types

Voici la liste que vous recherchez Priorité des types de données

Dans vos exemples :

WHERE quantity > '3'

'3' est transtypé en int, correspondant à la quantité

WHERE quantityTest > 3

Aucun casting requis

WHERE date = 20120101

20120101 comme un nombre est coulé à une date trop longue. ex.

select cast(20120101 as datetime)

Ceci est différent de

WHERE date = '20120101'

Où la date sous forme de chaîne peut être lancé.

Si vous descendez d'un tiers de la référence CAST et CONVERT à la section Conversions implicites, il y a un tableau des conversions implicites autorisées. Ce n'est pas parce qu'il est autorisé que cela fonctionnera, comme (20120101 -> datetime).