La tabla 5 de este apartado muestra la lista de prioridad para cada tipo de datos. Por favor, tenga en cuenta que:
Si existen dichas funciones duplicadas, la elección de la que se ha de invocar se determina por medio de un algoritmo en dos pases. El primer pase intenta hallar una correspondencia utilizando el mismo algoritmo que se utiliza para resolver funciones en una base de datos no Unicode. Si no se encuentra ninguna correspondencia, se efectuará un segundo pase teniendo en cuenta la prioridad de promoción siguiente para las series CHAR y GRAPHIC:
GRAPHIC-->CHAR-->VARGRAPHIC-->VARCHAR-->LONG VARGRAPHIC-->LONG VARCHAR -->DBCLOB-->CLOB
La entrada siguiente se ha añadido a la lista introducida como: "Se da soporte a las siguientes difusiones que implican tipos diferentes":
Lo que se muestra a continuación son actualizaciones a la "Tabla 6.
Difusiones soportadas entre tipos de datos incorporados". Sólo se
incluyen las filas afectadas de la tabla.
Tabla 17. Difusiones soportadas entre tipos de datos incorporados
Tipo de datos de destino > Tipo de datos fuente V |
C H A R |
V A R C H A R |
L O N G V A R C H A R |
C L O B |
G R A P H I C |
V A R G R A P H I C |
L O N G V A R G R A P H I C |
D B C L O B |
---|---|---|---|---|---|---|---|---|
CHAR | Y | Y | Y | Y | S1 | S1 | - | - |
VARCHAR | Y | Y | Y | Y | S1 | S1 | - | - |
LONGVARCHAR | Y | Y | Y | Y | - | - | S1 | S1 |
CLOB | Y | Y | Y | Y | - | - | - | S1 |
GRAPHIC | S1 | S1 | - | - | Y | Y | Y | Y |
VARGRAPHIC | S1 | S1 | - | - | Y | Y | Y | Y |
LONGVARGRAPHIC | - | - | S1 | S1 | Y | Y | Y | Y |
DBCLOB | - | - | - | S1 | Y | Y | Y | Y |
Las asignaciones y comparaciones que implican tanto datos de tipo carácter como gráficos sólo están soportadas cuando una de las series es un literal. Para la resolución de funciones, los literales gráficos y los literales de tipo carácter se corresponderán tanto con los parámetros de función gráfica como con los de tipo carácter.
Lo que se muestra a continuación son actualizaciones a la "Tabla 7.
Compatibilidad de tipo de datos para asignaciones y comparaciones".
Sólo se incluyen las filas afectadas de la tabla y la nueva nota a pie de
página 6:
Operandos | Entero binario | Número decimal | Coma flotante | Serie de caracteres | Serie gráfica | Fecha | Hora | Indic. de la hora | Serie binaria | UDT |
---|---|---|---|---|---|---|---|---|---|---|
Serie de caracteres | No | No | No | Sí | Sí 6 | 1 | 1 | 1 | No 3 | 2 |
Serie gráfica | No | No | No | Sí 6 | Sí | No | No | No | No | 2 |
Asignación de almacenamiento
El último párrafo de este subapartado se modifica del modo siguiente:
Cuando se asigna una serie a una columna de longitud fija y la longitud de la serie es inferior al atributo de longitud del destino, la serie se rellena a la derecha con el número necesario de blancos de un único byte, de doble byte o UCS-22. El carácter de relleno es siempre un blanco incluso para las columnas que se definen con el atributo FOR BIT DATA.
Asignación de recuperación
El tercer párrafo de este subapartado se modifica del modo siguiente:
Cuando se asigna una serie de caracteres a una variable de longitud fija y la longitud de la serie es inferior al atributo de longitud del destino, la serie se rellena a la derecha con el número necesario de blancos de un único byte, de doble byte o UCS-22. El carácter de relleno es siempre un blanco incluso para las series que se definen con el atributo FOR BIT DATA.
Normas de conversión para asignaciones de serie
Se ha añadido el párrafo siguiente al final de este subapartado:
Para las bases de datos Unicode, las series de caracteres pueden asignarse a una columna gráfica y pueden asignarse series gráficas a una columna de caracteres.
Consideraciones para asignaciones de serie gráfica
El primer párrafo de este subapartado se ha modificado del modo siguiente:
Las asignaciones de serie gráfica se procesan de un modo análogo al de las series de caracteres. Para bases de datos no Unicode, los tipos de datos de serie gráfica son únicamente compatibles con otros tipos de datos de serie gráfica y nunca con tipos de datos numéricos, de serie de caracteres o de fecha y hora. Para bases de datos no Unicode, los tipos de datos de serie gráfica son compatibles con tipos de datos de serie gráfica.
Normas de conversión para la comparación
Este subapartado se ha modificado del modo siguiente:
Cuando se comparan dos series, una de las series se convierte en primer lugar, si es necesario, al esquema de codificación y/o página de códigos de la otra serie. Para obtener más detalles, consulte el apartado "Normas para conversiones de serie" del "Capítulo 3. Elementos de lenguaje" del manual Consulta de SQL.
Éste es un subapartado nuevo que se inserta detrás del subapartado "Series gráficas".
En una base de datos Unicode, las series de caracteres y las series
gráficas son compatibles.
Si un operando es... | Y el otro operando es... | El tipo de datos del resultado es... |
---|---|---|
GRAPHIC(x) | CHAR(y) o GRAPHIC(y) | GRAPHIC(z) donde z = max(x,y) |
VARGRAPHIC(x) | CHAR(y) o VARCHAR(y) | VARGRAPHIC(z) donde z = max(x,y) |
VARCHAR(x) | GRAPHIC(y) o VARGRAPHIC | VARGRAPHIC(z) donde z = max(x,y) |
LONG VARGRAPHIC | CHAR(y) o VARCHAR(y) o LONG VARCHAR | LONG VARGRAPHIC |
LONG VARCHAR | GRAPHIC(y) o VARGRAPHIC(y) | LONG VARGRAPHIC |
DBCLOB(x) | CHAR(y) o VARCHAR(y) o CLOB(y) | DBCLOB(z) donde z = max(x,y) |
DBCLOB(x) | LONG VARCHAR | DBCLOB(z) donde z = max(x,16350) |
CLOB(x) | GRAPHIC(y) o VARGRAPHIC(y) | DBCLOB(z) donde z = max(x,y) |
CLOB(x) | LONG VARGRAPHIC | DBCLOB(z) donde z = max(x,16350) |
Se ha añadido el tercer punto a la lista siguiente de esta sección:
Para cada par de páginas de códigos, el resultado lo determina la aplicación secuencial de las normas siguientes:
Se ha añadido lo siguiente:
En una base de datos Unicode, una expresión que acepte una serie de caracteres o gráfica aceptará cualquier tipo de serie para el que se dé soporte a la conversión.
Se ha añadido lo siguiente al final de este subapartado:
En una base de datos Unicode, la concatenación que implica tanto a los operandos de serie de caracteres como a los operandos de serie gráfica convertirá en primer lugar los operandos de carácter en operandos gráficos. Tenga en cuenta que en una base de datos no Unicode, la concatenación no puede implicar ni a operandos de caracteres ni a gráficos.
La entrada siguiente se ha añadido a la lista introducida por la sentencia: "Las normas siguientes se aplican a todos los tipos de predicados":