Conversión implícita
La conversión implícita de resultados de expresiones se realiza en tiempo de ejecución para determinadas combinaciones de tipos de datos.
Por ejemplo, se produce la conversión implícita si se especifica una expresión entera como el valor inicial para un campo de datos que es de tipo flotante. Tenga en cuenta que, dentro de una expresión, no hay conversión implícita de un valor de serie en un valor de tiempo; debe utilizar la función convert o la función stringtotime para convertir explícitamente el valor de serie en un valor de tiempo.
Dentro de una expresión compleja, la conversión implícita se realiza para que el tipo de dato del argumento cumpla los requisitos de un operador o función. Por ejemplo, la función substr toma valores enteros para los argumentos de longitud y de posición inicial. Si especifica los valores flotantes 2,5 y 1,0 como dichos argumentos, se convierten implícitamente en los valores enteros 1 y 2 antes de que se evalúe la expresión.
La conversión implícita se produce en tiempo de ejecución para las siguientes combinaciones de tipos de datos:
De flotante a entero
Se truncan todos los dígitos situados a la derecha de la coma decimal en el número flotante. Por ejemplo, si especifica 123,4567 como el valor inicial para un campo de dato entero, a la inicialización, el valor del campo de datos se establece en 123.
De entero a flotante
Se anexa una coma decimal y un cero después del último dígito del entero.
Dentro de una expresión compleja que contenga valores tanto flotantes como enteros, la conversión implícita se produce si un operador necesita que los valores sean del mismo tipo de dato. En este caso, el valor entero se convierte en tipo de dato flotante antes de evaluar la expresión. Por ejemplo, si especifica 1,5 + 2, el 2 se convierte en 2,0.