Inserción de datos en una tabla Unicode

Las tablas Unicode pueden almacenar cualquier carácter. En el caso de los caracteres puede escribir con el teclado, las sentencias INSERT son sencillas. Pero suponga que desea insertar un carácter que no esté en el teclado, como el signo de yen (¥) en el teclado de EE.UU. Ese proceso exige pasos adicionales.

Procedimiento

Para insertar datos en una tabla Unicode, utilice uno de los métodos siguientes:

  • Cargue los datos de un conjunto de datos utilizando el programa de utilidad LOAD. Si el conjunto de datos de entrada ya está en Unicode, especifique la opción UNICODE. Si los datos no están en Unicode, asegúrese de especificar la palabra clave apropiada del esquema de codificación (ASCII, EBCDIC o CCSID) en la sentencia del programa de utilidad LOAD. El valor predeterminado es EBCDIC. Db2 convierte datos ASCII y EBCDIC a Unicode cuando se cargan en una tabla Unicode. Tenga en cuenta que esta conversión puede hacer que los datos se expandan.
  • Cargue los datos de otra tabla utilizando la función de carga cruzada. Si los datos proceden de una tabla EBCDIC o ASCII, Db2 los convierte a Unicode cuando se cargan en la tabla Unicode de destino. Tenga en cuenta que esta conversión puede hacer que los datos se expandan.
  • Inserte filas individuales utilizando la sentencia INSERT. En el caso de caracteres que no se pueden escribir con el teclado, utilice la constante de Unicode UX'xxxx'.
    Esta constante siempre está en UTF-16, lo que significa que tiene que especificar el valor en formato UTF-16. Para determinar la constante de Unicode de un carácter concreto, siga estos pasos:
    1. Busque el elemento de código Unicode. Utilice las tablas de códigos de caracteres Unicode en el sitio web del Consorcio Unicode. Por ejemplo, el signo del yen (¥) es U+00A5.
    2. Convierta el elemento de código de Unicode al formato UTF-16 llevando a cabo una de las acciones siguientes:
      • Si el elemento de código Unicode U+yyyy es menor que U+FFFF, su codificación en UTF-16 es sencilla. Copie el valor simplemente. Por ejemplo, los elementos de código Unicode siguientes se pueden especificar como las siguientes constantes de Unicode:
        Tabla 1. Elementos de código Unicode y sus constantes Unicode correspondientes para elementos de código Unicode que son inferiores a U+FFFF
        Carácter Elemento de código Unicode Formato UTF-16 Constante Unicode
        ¥ U+00A5 X'00A5' UX'00A5'
        ĸ U+0138 X'0138' UX'0138'
        Comenzar descripción de figura. Carácter Unicode U+270E Fin de la descripción de la figura. U+270E X'270E' UX'270E'
      • Si el elemento de código Unicode U+yyyy es mayor o igual a U+FFFF, codifique ese carácter en formato UTF-16 y utilice ese valor codificado. Por ejemplo, el elemento de código Unicode U+200D0 se puede codificar en UTF-16 como X'D840DCD0'. Por lo tanto, la constante Unicode es UX'D840DCD0'.

        Puede encontrar los pasos para saber cómo codificar y descodificar manualmente datos Unicode en el sitio web de Unicode Consortium. Como alternativa, puede utilizar una herramienta de conversión para que realice la conversión de forma automática.

Ejemplo

La siguiente instrucción INSERT inserta una fila con el carácter Unicode U+200D0, que es Comenzar descripción de figura. Caracteres Unicode 200D0. Finalizar descripción de figura., en la segunda columna.
INSERT INTO UNITAB VALUES ('7A907',UX'D840DCD0','A');