Compartir a través de


Conversiones de tipos de datos

Los datos pueden convertirse de un tipo a otro en uno de estos cuatro momentos: cuando los datos se transfieren de una variable de aplicación a otra (de C a C), cuando los datos de una variable de aplicación se envían a un parámetro de sentencia (de C a SQL), cuando los datos de una columna de un conjunto de resultados se devuelven en una variable de aplicación (de SQL a C) y cuando los datos se transfieren de una columna de origen de datos a otra (de SQL a SQL).

Cualquier conversión que se produzca cuando los datos se transfieren de una variable de aplicación a otra queda fuera del ámbito de este documento.

Cuando una aplicación vincula una variable a una columna del conjunto de resultados o a un parámetro de instrucción, la aplicación especifica implícitamente una conversión de tipo de datos en su elección del tipo de datos de la variable de aplicación. Por ejemplo, supongamos que una columna contiene datos enteros. Si la aplicación vincula una variable entera a la columna, especifica que no se realice ninguna conversión; si la aplicación vincula una variable de caracteres a la columna, especifica que los datos se conviertan de enteros a caracteres.

ODBC define cómo se convierten los datos entre cada tipo de datos SQL y C. Básicamente, ODBC admite todas las conversiones razonables, como de carácter a entero y de entero a flotante, y no admite conversiones mal definidas, como de flotante a fecha. Los controladores deben admitir todas las conversiones para cada tipo de datos SQL que admitan. Para obtener una lista completa de conversiones entre tipos de datos SQL y C, consulte Conversión de datos de tipos de datos SQL a C y Conversión de datos de tipos de datos C a SQL en el Apéndice D: Tipos de datos.

ODBC también define una función escalar para convertir datos de un tipo de datos SQL a otro. El controlador asigna la función escalar CONVERT a la función o funciones escalares subyacentes definidas para realizar conversiones en el origen de datos. Ya que esta función se asigna a funciones específicas del DBMS, ODBC no define cómo funcionan estas conversiones o qué conversiones se deben admitir. Una aplicación descubre qué conversiones admiten un controlador y un origen de datos concretos a través de las opciones SQL_CONVERT de SQLGetInfo. Para más información sobre la función escalar CONVERT, consulte Secuencias de escape en ODBC y Función de conversión explícita de tipos de datos.