sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server y conversión implícita de tipos

Esta es la lista que está buscando Precedencia de tipos de datos

En tus ejemplos:

WHERE quantity > '3'

'3' se convierte en int, cantidad coincidente

WHERE quantityTest > 3

No se requiere lanzamiento

WHERE date = 20120101

20120101 como número se está lanzando a una fecha, que es demasiado grande. por ejemplo

select cast(20120101 as datetime)

Esto es diferente de

WHERE date = '20120101'

Donde la fecha como una cadena se puede lanzar.

Si baja un tercio de la referencia CAST y CONVERT a la sección Conversiones Implícitas, hay una tabla de conversiones implícitas que están permitidas. El hecho de que esté permitido no significa que funcionará, como (20120101 -> fecha y hora).