Revisar el código y una declaración de caso tiene expression <= 1.
como opuesto a<= 1
No estoy seguro de cuál es el propósito de la 1.
. ¿Alguna idea?
sql-server
Pete Forester
fuente
fuente
1.
literal como numérico (1,0) en lugar de entero debido al punto. Tal vez eso se especificó para que coincida con el tipo de datos de la expresión (una práctica recomendada). Personalmente, especificaría1.0
en ese caso.0
después del punto decimal y el hecho de quedecimal
tenga una mayor precedencia de tipo de datos queint
la constante se emitiría implícitamente de todos modos si fuera necesario me haría pensar que es probable que sea un error de escritura en lugar de deliberado.Respuestas:
1.
es unaNUMERIC
(oDECIMAL
) constante, mientras que1
es unaINTEGER
constante. En algunos casos es útil especificar el tipo de datos de una constante explícitamente para evitar una conversión de tipo implícita innecesaria (o indeseable).Considere, por ejemplo
Luego
select 1/f1 from t
devuelve0
(INTEGER
), mientras queselect 1./f1 from t
devuelve0.5
(DECIMAL
).Se podría suponer que en el lado izquierdo de la comparación en su ejemplo hay una
DECIMAL
columna, y especificar explícitamente unaDECIMAL
constante podría mejorar marginalmente el rendimiento al evitar una conversión de tipo implícita.fuente