Sintaxis y opciones de la sentencia de control UNLOAD

La sentencia de control de programa de utilidad UNLOAD, con sus múltiples opciones, define la función que lleva a cabo el trabajo del programa de utilidad.

Puede crear una declaración de control con la función de edición de PDF ( ISPF ). Después de crearlo, guárdelo en un conjunto de datos secuencial o particionado. Cuando cree el JCL para ejecutar el trabajo, utilice la instrucción SYSIN DD para especificar el nombre del conjunto de datos que contiene la instrucción de control de utilidad.

Diagrama de sintaxis

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual UNLOAD DATAESPECIFICACIONES DE LA MESAESPECIFICACIONES DE LA MESAespecificaciones de la fuenteESPECIFICACIONES DE LA MESALISTnombre de la definición de listadescargar-especificacionesCLONE
especificaciones de la fuente
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual TABLESPACE nombre-base-datos. nombre-espacio-tablas PARTenteroint1:int2FROMCOPYnombre-conjunto-de-datosFROMVOLUMECATALOGvol-serFROMSEQNOnFROMCOPYDDNddname
descargar-especificaciones
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualPUNCHDDNSYSPUNCHPUNCHDDNddnamenombre-plantillaUNLDDNSYSRECUNLDDNddnamenombre-plantillaEBCDICASCIIUNICODECCSID(, entero)NOSUBSNOPADSPANNEDNOSPANNEDYESFORMATINTERNALDELIMITEDCOLDEL','COLDELcoldelCHARDEL'"'CHARDELchardelDECPT'.'DECPTDECPTFLOATS390FLOATIEEEMAXERR1MAXERRenteroSHRLEVELCHANGEISOLATIONCSSHRLEVELCHANGEISOLATIONCSSKIP LOCKED DATASHRLEVELCHANGEISOLATIONURREGISTERYESREGISTERNOSHRLEVELREFERENCEDECFLOAT_ROUNDMODEROUND_CEILINGROUND_DOWNROUND_FLOORROUND_HALF_DOWNROUND_HALF_EVENROUND_HALF_UPROUND_UPIMPLICIT_TZ' cadena-de-zona-horaria'PARALLEL0PARALLELnúmero de subtareas
FROM-TABLE-spec : El diagrama de sintaxis y las descripciones de las opciones para FROM-TABLE-spec se presentan en la sección Diagrama de sintaxis y descripciones de las opciones de FROM-TABLE-spec.

Descripciones de opciones

DATA
Identifica los datos que se van a seleccionar para descargar con el nombre de la tabla en la especificación de la tabla de origen. La palabra clave DATA es mutuamente excluyente con las palabras clave TABLESPACE, PART y LIST.

Cuando especifique la palabra clave DATA, u omita la palabra clave TABLESPACE o LIST, también debe especificar al menos una cláusula FROM TABLE.

TABLESPACE
Especifica el espacio de la tabla (y, opcionalmente, la base de datos a la que pertenece) desde la que se van a descargar los datos.
nombre-base-datos
El nombre de la base de datos a la que pertenece el espacio de tabla. El nombre no puede ser DSNDB01 o DSNDB07.

El valor predeterminado es DSNDB04.

nombre-espacio-tabla
El nombre del espacio de la tabla desde el que se van a descargar los datos. El espacio de tabla especificado no debe ser un espacio de tabla LOB o XML.
PART
Identifica una partición o un rango de particiones desde las que se van a descargar los datos. Esta palabra clave solo se aplica si el espacio de tabla especificado está particionado. No puede especificar PART con LIST. El máximo es 4096.
entero
Designa una sola partición. entero debe identificar un número de partición física existente dentro del espacio de la tabla.
int1:int2
Designa un rango de particiones desde el número de partición física int1 al número de partición física int2. El número de partición debe ser un número entero positivo que sea menor que el número de partición más alto dentro del espacio de tabla. int1 debe ser un número entero positivo que sea menor que el número de partición más alto dentro del espacio de tabla. int2 debe ser un número entero mayor que int1 y menor o igual que el número de partición más alto.

Si no se especifica ninguna palabra clave PART en una instrucción de control UNLOAD, los datos de todo el espacio de la tabla se descargan en un único conjunto de datos de descarga.

FROMCOPY nombre-conjunto-de-datos
Indica que los datos se van a descargar de un conjunto de datos de copia de imagen. Cuando especifique FROMCOPY, la utilidad UNLOAD procesa solo el conjunto de datos de copia de imagen especificado. También puede utilizar la palabra clave FROMCOPYDDN, donde se pueden concatenar varios conjuntos de datos de copia de imágenes bajo un único nombre DD.
nombre-conjunto-de-datos
El nombre del conjunto de datos de copia de imagen. Puede encontrar este nombre en el campo DSNAME en SYSIBM.SYSCOPY.
FROMVOLUME
Identifica el volumen donde reside el conjunto de datos de la copia de la imagen.
CATALOG
Indica que el conjunto de datos está catalogado. Utilice esta opción solo para una copia de imagen que se haya creado como un conjunto de datos catalogado, lo que significa que su número de serie de volumen no está registrado en el sistema de archivos de datos ( SYSIBM.SYSCOPY ) (la columna DSVOLSER del registro SYSCOPY está en blanco).
vol-ser
Identifica el conjunto de datos mediante un identificador alfanumérico de serie de volumen de su primer volumen. Utilice esta opción solo para una copia de imagen que se haya creado como un conjunto de datos no catalogado.

Puede encontrar el identificador de serie de volumen en la columna DSVOLSER en SYSIBM.SYSCOPY. Para un conjunto de datos que se almacena en varios volúmenes de cinta, especifique el primer valor DSVOLSER en el registro SYSCOPY.

FROMSEQNO n
Identifica la copia de la imagen de datos establecida por su número de secuencia de archivo.

Inicio del cambioSi SYSIBM.SYSCOPY contiene varios registros que coinciden con el nombre del conjunto de datos de copia de imagen y el número de serie de volumen especificados, especifique FROMSEQNO para asegurarse de que UNLOAD utiliza la copia de imagen correcta. De lo contrario, UNLOAD utiliza el número de secuencia de archivo de la primera copia de imagen coincidente que encuentra en SYSIBM.SYSCOPY.fin del cambio

n
Especifica el número de secuencia del archivo. Puede encontrar este número en la columna FILESEQNO en SYSIBM.SYSCOPY.
FROMCOPYDDN ddname
Indica que los datos se van a descargar de uno o más conjuntos de datos de copia de imagen que están asociados con el nombre de dominio especificado. Los conjuntos de datos de copia de varias imágenes (principalmente para la copia de piezas) pueden concatenarse bajo un único nombre DD.
ddname
Identifica un nombre DD con el que están asociados uno o más conjuntos de datos de copia de imagen.
LIST nombre de la definición de lista
Identifica el nombre de una lista de objetos que están definidos por una instrucción de control de utilidad LISTDEF. La lista puede incluir espacios de tabla, espacios de índice, bases de datos, tablas, índices y particiones. La lista no puede incluir espacios de índice, espacios de tabla LOB ni objetos de directorio. No puede utilizar la opción LIST para especificar conjuntos de datos de copia de imágenes.
Cuando especifica la opción LIST, la LISTDEF referenciada identifica:
  • Las tablas de las que se van a descargar los datos. Puede utilizar la función de coincidencia de patrones de LISTDEF.
  • Las particiones (si un espacio de tabla está particionado) desde las que se van a descargar los datos (definidas por las palabras clave INCLUDE, EXCLUDE y PARTLEVEL en la sentencia LISTDEF).

La utilidad UNLOAD asocia un único espacio de tabla con un conjunto de datos de salida, excepto cuando se activa el paralelismo de particiones. Cuando utilice la opción LIST con un LISTDEF que represente varios espacios de tabla, también debe definir un TEMPLATE de conjunto de datos que se corresponda con todos los espacios de tabla y especificar el nombre de la plantilla en la opción UNLDDN.

Si desea generar las sentencias LOAD, debe definir otra PLANTILLA para el conjunto de datos PUNCHDDN que sea similar a UNLDDN. Db2 y, a continuación, genera una sentencia LOAD para cada espacio de tabla. Esta utilidad solo procesará datos de clonación si se especifica la palabra clave CLONE. El uso de YES CLONADO en la instrucción LISTDEF no es suficiente.

Las particiones o rangos de particiones se pueden especificar en una lista.

PUNCHDDN
Especifica el nombre DD de un conjunto de datos o un nombre de plantilla que define uno o más nombres de conjuntos de datos que van a recibir las sentencias de control de la utilidad LOAD que genera la utilidad UNLOAD.
ddname
Especifica el nombre del DD.

El valor predeterminado es SYSPUNCH.

nombre-plantilla
Identifica el nombre de una plantilla de conjunto de datos que se define mediante una instrucción de control de utilidad TEMPLATE.

Si el nombre especificado se define tanto como nombre DD (en el JCL) como nombre de plantilla (en una instrucción TEMPLATE), se trata como nombre DD.

Cuando ejecute la utilidad UNLOAD para varios espacios de tabla y desee generar las sentencias LOAD correspondientes, debe tener varios conjuntos de datos de salida que correspondan a los espacios de tabla para que Db2 conserve todas las sentencias LOAD generadas. En este caso, debe especificar un nombre de plantilla adecuado a PUNCHDDN. Si omite la especificación PUNCHDDN, no se generan las sentencias LOAD.

Si la variable de partición (&PART. o &PA.) está incluido en una PLANTILLA para PUNCHDDN, Db2 sustituye a &PART. o variable &PA con el número de partición más bajo en la lista de particiones que se van a descargar. El número de partición tiene el formato nnnnn.

UNLDDN
Especifica el nombre DD de un conjunto de datos o un nombre de plantilla que define uno o más nombres de conjuntos de datos en los que se van a descargar los datos.
ddname
Especifica el nombre del DD.

El valor predeterminado es SYSREC.

nombre-plantilla
Identifica el nombre de una plantilla de conjunto de datos que se define mediante una instrucción de control de utilidad TEMPLATE.

Si el nombre especificado se define tanto como nombre DD (en el JCL) como nombre de plantilla (en una instrucción TEMPLATE), se trata como nombre DD.

Cuando ejecuta la utilidad UNLOAD para un espacio de tabla particionado, las particiones seleccionadas se descargan en paralelo si se cumplen las siguientes condiciones:

  1. Especifique un nombre de plantilla para UNLDDN.
  2. El nombre del conjunto de datos de la plantilla contiene la partición como variable (&PART. o &PA.) sin notación de subcadenas. El nombre de esta plantilla se expande en múltiples conjuntos de datos que corresponden a las particiones seleccionadas.
  3. La instrucción de control TEMPLATE no contiene todas las opciones siguientes:
    • APILAR (SÍ)
    • UNIDAD (CINTA)
    • Un valor UNCNT menor o igual a uno.

Si las condiciones 1 y 2 son verdaderas, pero la condición 3 es falsa, el paralelismo de partición no se activa y todos los conjuntos de datos de salida se apilan en una cinta.

Inicio del cambiono puede realizar operaciones de DESCARGA paralelas para particiones si utiliza la notación de subcadena para la variable de partición (&PART Db2 no puede realizar operaciones de DESCARGA paralelas para particiones si utiliza la notación de subcadena para la variable de partición (&PART. o &PA.) en el argumento DSN, porque el nombre del conjunto de datos podría no ser único para todas las particiones. Por lo tanto, Db2 utiliza un único conjunto de datos UNLDDN para todas las particiones. Esta acción podría causar errores de conjunto de datos duplicados en trabajos de DESCARGA posteriores para otras particiones del mismo espacio de tabla.fin del cambio

Cuando ejecuta la utilidad UNLOAD para varios espacios de tabla, los registros de salida se colocan en conjuntos de datos que corresponden a los respectivos espacios de tabla. Por lo tanto, los conjuntos de datos de salida deben ser físicamente distintivos, y debe especificar un nombre de plantilla apropiado para UNLDDN. Si omite la especificación UNLDDN, no se utiliza el nombre SYSREC DD y se produce un error.

Inicio del cambioSi la variable de partición (&PART. o &PA.) se incluye en la instrucción TEMPLATE DSN cuando el paralelismo de particiones no es aplicable (cuando el origen no está particionado o se especifica un espacio de tabla de partición por crecimiento o FROMCOPY, FROMCOPYDDN o SPANNED YES), se emite el mensaje DSNU1252I.fin del cambio

EBCDIC
Especifica que todos los datos de salida del tipo de carácter deben estar en EBCDIC. Si se utiliza un esquema de codificación diferente para los datos de origen, los datos (excepto las cadenas de bits) se convierten a EBCDIC.

Si no especifica EBCDIC, ASCII, UNICODE o CCSID, se conserva el esquema de codificación de los datos de origen.

Consulte la descripción de la opción CCSID para esta utilidad.

ASCII
Especifica que todos los datos de salida del tipo de carácter deben estar en ASCII. Si se utiliza un esquema de codificación diferente para los datos de origen, los datos (excepto las cadenas de bits) se convierten a ASCII.

Si no especifica EBCDIC, ASCII, UNICODE o CCSID, se conserva el esquema de codificación de los datos de origen.

Consulte la descripción de la opción CCSID para esta utilidad.

UNICODE
Especifica que todos los datos de salida del tipo de carácter (excepto las cadenas de bits) deben estar en Unicode. Si se utiliza un esquema de codificación diferente para los datos de origen, los datos se convierten a Unicode.

Si no especifica EBCDIC, ASCII, UNICODE o CCSID, se conserva el esquema de codificación de los datos de origen.

Vea la descripción de la opción CCSID de esta utilidad.

CCSID(integer1,integer2,integer3)
Especifica hasta tres identificadores de conjunto de caracteres codificados (CCSID) que se utilizarán para los datos de tipo de carácter en los registros de salida, incluidos los datos que se descargan en los formatos de caracteres externos.

integer1 especifica el CCSID para datos SBCS. integer2 especifica el CCSID para datos mixtos. integer3 especifica el CCSID para datos DBCS. Esta opción no se aplica a los datos con un subtipo de BIT.

Si especifica FORMAT DELIMITED y UNICODE, todos los datos de salida estarán en CCSID 1208, UTF-8; se ignorará cualquier otro CCSID especificado.

Las siguientes especificaciones también son válidas:

CCSID(integer1)
Indica que solo se especifica un CCSID SBCS.
CCSID(integer1,integer2)
Indica que se especifican un CCSID SBCS y un CCSID mixto.
entero
Especifica un CCSID válido o 0.

Si especifica un valor de 0 para uno de los argumentos u omite un valor, se asume el esquema de codificación especificado por EBCDIC, ASCII o UNICODE para el tipo de datos correspondiente (SBCS, MIXED o DBCS).

Si no especifica EBCDIC, ASCII o UNICODE:

  • Inicio del cambioSi los datos de origen son de tipo carácter, se conserva el esquema de codificación original. Cuando no se especifica el CCSID en una especificación de campo, se conserva el CCSID de la columna.fin del cambio
  • Para las cadenas de caracteres que se convierten a partir de datos numéricos, de fecha, de hora o de marca de tiempo, se utiliza el esquema de codificación predeterminado de la tabla.

Si especifica EBCDIC, ASCII o UNICODE, los CCSID especificados para SBCS, DBCS y MIXED deben ser CCSID válidos para el esquema de codificación especificado, o 0.

Cuando se solicita una conversión CCSID, pueden producirse sustituciones de caracteres CCSID en la cadena de salida. Utilice la opción NOSUBS para evitar posibles sustituciones de caracteres durante la conversión CCSID.

NOSUBS
Especifica que la sustitución del código CCSID no debe realizarse durante el procesamiento de descarga.

Cuando una cadena se convierte de un CCSID a otro (incluidos EBCDIC, ASCII y Unicode), a veces se coloca un carácter de sustitución en la cadena de salida. Por ejemplo, esta sustitución se produce cuando un carácter (denominado punto de código) que existe en el CCSID de origen no existe en el CCSID de destino. Puede utilizar la palabra clave NOSUBS para evitar que la utilidad UNLOAD permita esta sustitución.

Si especifica la palabra clave NOSUBS y se intenta realizar una sustitución de caracteres mientras se descargan los datos, esta acción se considera un error de conversión. El registro con el error no se descarga y el proceso continúa hasta que el recuento total de errores alcanza el número especificado por MAXERR.

NOPAD
Especifica que las columnas de longitud variable en los registros descargados deben ocupar la longitud real de los datos sin relleno adicional. Como resultado, los registros descargados o descartados pueden tener longitudes variables. Si las columnas XML se descargan sin el uso de variables de referencia de archivo, NOPAD es el valor predeterminado.

Cuando no especifique NOPAD:

  • Por defecto, UNLOAD procesa las columnas de longitud variable en los registros descargados a su longitud máxima, y los registros descargados tienen la misma longitud para cada tabla.
  • Los campos de datos rellenos van precedidos de los campos de longitud que indican el tamaño de los datos reales sin el relleno.
  • Cuando los registros de salida se vuelven a cargar con la utilidad LOAD, los campos de datos rellenados se tratan como datos de longitud variable.

Si especifica DELIMITED, la opción NOPAD es la predeterminada para columnas de longitud variable. Para columnas de longitud fija, se aplican las reglas de relleno normales.

Aunque LOAD procesa registros con columnas de longitud variable que se descargan o descartan mediante la opción NOPAD, estos registros no pueden ser procesados por aplicaciones que procesan únicamente campos en posiciones fijas. Por ejemplo, la sentencia LOAD que se genera para la tabla de muestra EMP sería similar a la sentencia LOAD que genera la utilidad REORG TABLESPACE con la opción NOPAD. Ver NOPAD.

SPANNED
Indica si los registros se deben descargar en un conjunto de datos VBS en formato de registro distribuido.
YES
Los registros deben descargarse en formato de registro distribuido.

Cuando especifique SPANNED YES, el objeto fuente y la sentencia UNLOAD deben cumplir los siguientes requisitos:

  • La tabla de origen debe tener al menos una columna XML o LOB. Si la tabla no tiene columnas XML o LOB, SPANNED YES se ignora.
  • Si especifica varias sentencias FROM TABLE para descargar varias tablas, todas las tablas deben contener al menos una columna LOB o XML. De lo contrario, ninguna de las tablas se descarga en formato de registro distribuido.
  • La declaración UNLOAD debe incluir una lista de especificación de campos que especifique todos los datos LOB y XML al final del registro. Debe especificarse el tipo de datos para las columnas LOB y XML. No incluya un valor de longitud o POSICIÓN para las columnas LOB y XML. Si no se incluyen especificaciones de campo o el tipo de datos no se incluye en la especificación de campo, SPANNED YES se ignora.
  • No especifique las siguientes opciones con SPANNED YES:
    • DELIMITED
    • FROMCOPY o FROMCOPYDDN
    • LIST (Si especifica LIST, SPANNED YES se ignora)

En los casos en que se ignora SPANNED YES, el conjunto de datos de descarga se crea con formato de registro VB (bloqueado de longitud variable), que no permite registros de más de 32 KB.

Cuando especifique SPANNED YES, UNLOAD también realiza las siguientes acciones:

  • Ignora el atributo RECFM del conjunto de datos.
  • Utiliza la opción NOPAD.
  • Ignora la opción TRUNCATE.
  • Ignora la interfaz de bloque grande (LBI) si la utilizan los conjuntos de datos de salida.

Si también especifica PUNCHDDN, la instrucción LOAD generada muestra los datos LOB y XML en una lista de especificación de campos en el mismo orden que la lista de especificación de campos UNLOAD.

NO
Los registros no deben descargarse en formato de registro distribuido.
FORMATO INTERNO
Especifica que el formato de registro de salida es Db2 formato interno. UNLOAD no realiza ningún procesamiento de procedimiento de campo, conversión de datos o conversión CCSID en los datos. Si la instrucción de control UNLOAD contiene una especificación de campo, se ignora.
Cuando se especifica FORMATO INTERNO:
  • UNLOAD no descarga datos para columnas LOB o XML. UNLOAD emite un mensaje de advertencia que indica que no se han descargado los datos LOB o XML.
  • UNLOAD no añade espacios en blanco al final de la salida de columnas de longitud variable.
  • UNLOAD descomprime los datos y realiza la decodificación especificada por los procedimientos de edición.
  • UNLOAD ignora cualquier especificación de campo en la sentencia de control de la utilidad UNLOAD.
Restricciones:
  • Los datos que se descargan con FORMAT INTERNAL deben cargarse únicamente en la misma tabla, o en una tabla que coincida exactamente con la definición de la tabla descargada, incluyendo tener los mismos procedimientos de campo.
  • FORMATO INTERNO no se puede especificar con ninguna de las siguientes opciones:
    • ASCII
    • CCSID
    • MODO_REDONDEAR_DECFLOAT
    • DELIMITED
    • EBCDIC
    • FLOAT
    • HEADER
    • NOPAD
    • SIN SUBSIDIOS
    • UNICODE
DELIMITED
Especifica que el archivo de datos de salida está en un formato delimitado. Cuando los datos están en un formato delimitado, todos los campos del conjunto de datos de salida son cadenas de caracteres o valores numéricos externos. Además, cada columna de un archivo delimitado está separada de la siguiente por un carácter delimitador de columna.

Para cada uno de los tipos de delimitador que puede especificar, debe asegurarse de que el carácter delimitador esté especificado en la página de códigos de los datos de destino. El carácter delimitador puede especificarse como un carácter o como una constante hexadecimal. Por ejemplo, para especificar # como delimitador, puede especificar COLDEL '#' o COLDEL X'23 '. Si la declaración de utilidad está codificada en un tipo de carácter diferente al del archivo de salida, como una declaración de utilidad codificada en EBCDIC y datos de salida en Unicode, especifique el carácter delimitador en la declaración de utilidad como una constante hexadecimal, o el resultado será impredecible.

No puede especificar el mismo carácter para más de un tipo de delimitador (COLDEL, CHARDEL y DECPT).

Si especifica la opción FORMAT DELIMITED:

  • No puede especificar HEADER CONST ni utilizar ninguna de las múltiples sentencias FROM TABLE.
  • UNLOAD ignora cualquier instrucción POSITION especificada dentro de la instrucción de control de la utilidad UNLOAD.
  • UNLOAD no descarga datos de tablas EBCDIC con columnas Unicode.

Para la salida delimitada, UNLOAD no añade espacios en blanco de relleno a las columnas de longitud variable, incluso si no se especifica la opción NOPAD. Para columnas de longitud fija, se aplican las reglas de relleno normales. Por ejemplo, si un campo VARCHAR(10) contiene ABC, UNLOAD DELIMITED descarga el campo como "ABC". Sin embargo, para un campo CHAR(10) que contiene " ABC", UNLOAD DELIMITED lo descarga como "ABC ".

Para obtener información sobre el uso de la salida delimitada y las restricciones de delimitadores, consulte Descarga de archivos delimitados. Para obtener más información sobre archivos delimitados, consulte Formato de archivo delimitado.
COLDEL
Especifica el delimitador de columna que se utiliza en el archivo de salida. El valor predeterminado es una coma (,). Para la mayoría de los datos ASCII y UTF-8, este valor es X'2C', y para la mayoría de los datos EBCDIC, este valor es un X'6B'.
CHARDEL
Especifica el delimitador de cadena de caracteres que se utiliza en el archivo de salida. El valor predeterminado es una comilla doble ("). Para la mayoría de los datos ASCII y E UTF-8, este valor es X'22', y para la mayoría de los datos EBCDIC, este valor es X'7F'.

La utilidad UNLOAD añade el carácter CHARDEL antes y después de cada cadena de caracteres. Para delimitar cadenas de caracteres que contienen el delimitador de cadena de caracteres, la utilidad UNLOAD repite el delimitador de cadena de caracteres donde se utilizó en la cadena de caracteres. La utilidad LOAD interpreta entonces cualquier par de delimitadores de caracteres que se encuentren entre los delimitadores de caracteres que los encierran como un solo carácter. Por ejemplo, la frase what a “nice warm” day se descarga como “what a ““nice warm”” day”, y LOAD la interpreta como what a “nice warm” day. La utilidad UNLOAD reconoce estos pares de caracteres solo para los campos CHAR, VARCHAR y CLOB.

DECPT
Especifica el carácter del punto decimal que se utiliza en el archivo de salida. El valor predeterminado es un punto (.). Para la mayoría de los datos ASCII y E UTF-8, este valor es X'2E', y para la mayoría de los datos EBCDIC, este valor es X'4B'.
FLOAT
Especifica el formato de salida de los datos numéricos de punto flotante. Esta opción solo se aplica al formato de salida binario.
S390
Indica que los datos binarios de punto flotante se escriben en los registros de salida en el formato interno de punto flotante de 8 bits ( S/390®, también conocido como punto flotante hexadecimal o HFP).
IEEE
Indica que los datos binarios de punto flotante se escriben en los registros de salida en formato IEEE (también conocido como punto flotante binario o BFP).
MAXERR entero
Especifica el número máximo de registros erróneos que se permitirán; el proceso de descarga finaliza cuando se alcanza este valor.
entero
Especifica el número de registros erróneos permitidos. Cuando el recuento de errores alcanza este número, la utilidad UNLOAD emite el mensaje " DSNU1219 " y finaliza con el código de retorno 8.

El valor predeterminado es 1, lo que indica que UNLOAD se detiene cuando se encuentra el primer error. Si especifica 0 o cualquier número negativo, la ejecución continúa independientemente del número de registros que estén en error.

Si se están procesando varios espacios de tabla, se cuenta el número de registros erróneos de cada espacio de tabla. Si se utiliza la opción LIST, puede añadir la instrucción de control de utilidad OPTION (opción EVENT con ITEMERROR) antes de la instrucción UNLOAD para especificar que el espacio de tabla en error debe omitirse y que los espacios de tabla subsiguientes deben procesarse.

La opción MAXERR se ignora cuando la utilidad UNLOAD encuentra errores que le impiden continuar procesando datos. Por ejemplo, si recibe el mensaje DSNU283I, SQLCODE -452 y el código de motivo 7 al descargar datos LOB o XML utilizando variables de referencia de archivo, la utilidad UNLOAD se cierra independientemente de lo que haya especificado para MAXERR.

SHRLEVEL
Especifica si otros procesos pueden acceder o actualizar el espacio de tabla o las particiones mientras se descargan los datos.

UNLOAD ignora la especificación SHRLEVEL cuando el objeto de origen es un conjunto de datos de copia de imagen.

El valor predeterminado es SHRLEVEL CHANGE ISOLATION CS.

CAMBIAR
Especifica que las filas se pueden leer, insertar, actualizar y eliminar del espacio de tabla o partición mientras se descargan los datos.
ISOLATION
Especifica el nivel de aislamiento con SHRLEVEL CHANGE.
CS
Indica que la utilidad UNLOAD va a leer filas en modo de estabilidad del cursor. Con CS, la utilidad UNLOAD asume CURRENTDATA(NO).
UR
Indica que las filas no asignadas, si existen, deben descargarse. La operación de descarga se realiza con una interferencia mínima de las otras Db2 operaciones que se aplican a los objetos de los que se descargan los datos.
SKIP LOCKED DATA
Especifica que la utilidad UNLOAD debe omitir las filas en las que otras transacciones tienen bloqueos incompatibles. Esta opción se aplica a un bloqueo a nivel de fila o de página.
Inicio del cambioREGISTERfin del cambio
Inicio del cambioEspecifica si, cuando los comportamientos ISOLATION UR y SHRLEVEL CHANGE están en vigor, las páginas que son leídas por la utilidad UNLOAD en un entorno de intercambio de datos se registran con la función de acoplamiento. El valor predeterminado es REGISTRAR SÍ.
NEE
Inicio del cambioIndica que las páginas que lee la utilidad UNLOAD no están registradas en el servicio de acoplamiento. El uso de esta opción reduce la sobrecarga de intercambio de datos porque solo se descargan los datos que se escriben en el disco. Sin embargo, podría hacer que el procesamiento de la utilidad UNLOAD no detecte los cambios de datos que están presentes en los grupos o en las memorias intermedias locales. Los cambios de datos omitidos pueden dar lugar a una reducción de la vigencia de los datos en el conjunto de datos de resultados.fin del cambio
YES
Indica que las páginas que lee la utilidad UNLOAD están registradas en el servicio de acoplamiento.
fin del cambio
REFERENCE
Especifica que durante la operación de descarga, las filas de las tablas pueden leerse, pero no pueden insertarse, actualizarse ni eliminarse por otros Db2 hilos.

Cuando especifique SHRLEVEL REFERENCE, la utilidad UNLOAD vacía los escritores en el espacio de la tabla desde el que se van a descargar los datos. Cuando los datos se descargan de varias particiones, el bloqueo de drenaje se obtiene para todas las particiones seleccionadas en la fase UTILINIT.

DECFLOAT_ROUNDMODE
Especifica el modo de redondeo que se utilizará cuando se manipulen DECFLOAT. Se soportan las siguientes modalidades de redondeo:
ROUND_CEILING
Redondeado hacia +infinito. Los dígitos descartados se eliminan si son todos ceros o si el signo es negativo. En caso contrario, el coeficiente del resultado debería incrementarse en 1 (redondeado por exceso).
ROUND_DOWN
Redondeo hacia 0 (truncamiento). Se ignoran los dígitos descartados.
ROUND_FLOOR
Redondeado hacia el infinito. Los dígitos descartados se eliminan si son todos ceros o positivos. En caso contrario, el signo será negativo y el coeficiente del resultado debería incrementarse en 1 (redondeado por exceso).
ROUND_HALF_DOWN
Redondee al número más cercano. Si están equidistantes, redondear hacia abajo. Si los dígitos descartados son mayores que un 0.5, el coeficiente resultante debe incrementarse en 1 (redondeado al alza). Los dígitos descartados se ignoran si son iguales o inferiores a un 0.5.
ROUND_HALF_EVEN
Redondee al número más cercano. Si es equidistante, redondéelo para que el dígito final sea par. Si los dígitos descartados son mayores de 0,05, el coeficiente del resultado debe incrementarse en 1 (redondeado al alza). Los dígitos descartados se ignoran si son inferiores a un 0.5. Si el coeficiente del resultado es 0,05 y el dígito más a la derecha es par, el coeficiente del resultado no se modifica. Si el coeficiente del resultado es 0,05 y el dígito más a la derecha es impar, el coeficiente del resultado debe incrementarse en 1 (redondeado al alza).
ROUND_HALF_UP
Redondea al número entero más cercano. Si son equidistantes, redondear hacia arriba. Si los dígitos descartados son mayores o iguales a 0.5, el coeficiente resultante debe incrementarse en 1 (redondeado al alza). En caso contrario, los dígitos descartados se ignorarán.
ROUND_UP
Redondear hacia el 0. Si todos los dígitos descartados son 0, el resultado no cambia. En caso contrario, el coeficiente del resultado debería incrementarse en 1 (redondeado por exceso).

Si el usuario no especifica DECFLOAT_ROUNDMODE, el valor predeterminado de la opción DECFLOAT_ROUNDMODE es DECFLOAT ROUNDING MODE de DECP.

IMPLICIT_TZ
Especifica la zona horaria implícita que se utilizará cuando se descarguen valores de marca de tiempo de una columna TIMESTAMP sin zona horaria, y la especificación de campo para la columna es TIMESTAMP WITH TIME ZONE EXTERNAL.
' cadena de zona horaria '
Especifica el valor de zona horaria implícito. La zona horaria es la diferencia (en horas y minutos) entre la hora local y la UTC. El rango del componente de la hora es de -12 a 14, y el componente de los minutos es de 00 a 59. La zona horaria se especifica en el formato ±th:tm, con valores que van desde -12:59 hasta +14:00.

IMPLICIT_TZ es una palabra clave obligatoria cuando se utiliza la columna de marca de tiempo de descarga sin zona horaria en una columna de marca de tiempo con zona horaria.

PARALLEL

Especifica el número máximo de subtareas que se utilizarán en paralelo para procesar la descarga de un espacio de tabla particionado. Si se omite la palabra clave PARALLEL, el número máximo de subtareas está limitado por el número de particiones que se están descargando.

( num-subtareas )

Especifica el número máximo de subtareas que se van a procesar en paralelo. El valor debe ser un número entero entre 0 y 32767, ambos inclusive. Si el valor especificado para num-subtasks es mayor que 32767, la instrucción UNLOAD falla. Si se especifica 0 o ningún valor para num-subtasks, la utilidad UNLOAD utiliza el número óptimo de subtareas paralelas después de aplicar las restricciones. Si el valor especificado para el número de subtareas es mayor que el número óptimo calculado, la utilidad UNLOAD limita el número de subtareas paralelas al número óptimo.

El número especificado de subtareas para PARALLEL siempre anula la especificación del parámetro del subsistema PARAMDEG_UTIL, por lo que PARALLEL puede ser menor o mayor que el valor de PARAMDEG_UTIL.

CLONE
Indica que DESCARGAR sirve para descargar datos solo de tablas clonadas en los espacios de tablas especificados. Esta utilidad solo procesará datos de clonación si se especifica la palabra clave CLONE. El uso de YES CLONADO en la instrucción LISTDEF no es suficiente. Si especifica el nombre de la tabla clonada en la cláusula FROM TABLE, no es necesario que especifique la palabra clave CLONE.

Diagrama de sintaxis FROM-TABLE-spec y descripciones de opciones

Se puede descargar más de una tabla o partición para cada espacio de tabla con una sola invocación de la utilidad UNLOAD. Se requiere una declaración FROM TABLE para cada mesa que se vaya a descargar para identificar:

  • Un nombre de tabla desde el que se van a descargar las filas
  • Un campo para identificar la tabla que está asociada con las filas que se van a descargar de la tabla utilizando la opción HEADER (ENCABEZADO)
  • Opciones de muestreo para las filas de la tabla
  • Una lista de especificaciones de campo para la tabla que se va a utilizar para seleccionar las columnas que se van a descargar
  • Condiciones de selección, especificadas en la cláusula WHEN, que se utilizarán para calificar las filas que se van a descargar de la tabla

Todas las tablas que se especifican mediante sentencias FROM TABLE deben pertenecer al mismo espacio de tablas. Si se van a descargar filas de tablas específicas, se debe especificar una cláusula FROM TABLE para cada tabla de origen. Si no especifica una cláusula FROM TABLE para un espacio de tabla, se descargan todas las filas del espacio de tabla.

Utilice una lista de especificaciones de campo para especificar las siguientes características:

  • Selección de columna. Especifica los nombres de las columnas de una tabla que se va a descargar. Si se proporciona una lista de especificaciones de campo, solo se descargan las columnas enumeradas.
  • Orden de las columnas. Especifica el orden de los campos que se van a colocar en los registros de salida. Si se proporciona una lista de especificaciones de campo, los datos de las columnas enumeradas se descargan en el orden de los nombres de columna enumerados.
  • Atributos y formato del campo de salida. Especifica el tipo de datos, la longitud y el formato de los datos en los registros de salida.

Si omite una lista de especificaciones de campo, todas las columnas de la tabla de origen se descargan en el orden de columnas definido para la tabla. Se utilizan los tipos de campo de salida predeterminados que se corresponden con los tipos de datos de las columnas.

Al descargar columnas XML o LOB a un conjunto de datos VBS, los valores LOB y XML se escriben al final del registro en su orden de definición de columna, según lo especificado por la lista de especificación de campo requerido. Este orden es el mismo que utiliza la utilidad LOAD al leer valores XML y LOB de un conjunto de datos VBS.

En una cláusula FROM TABLE, solo puede usar paréntesis en dos situaciones: para encerrar toda la lista de selección de campos y en una cláusula de selección WHEN. Este uso evita posibles conflictos entre las palabras clave y los nombres de campo que se utilizan en la lista de selección de campos. A continuación se muestra una muestra válida de una especificación de cláusula FROM TABLE:

UNLOAD …
  FROM TABLE tablename SAMPLE x (c1,c2) WHEN (c3>0)

No puede especificar FROM TABLE si la opción LIST ya está especificada.

ESPECIFICACIONES DE LA MESA

Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual FROM TABLE nombre-tabla HEADEROBIDHEADERNONECONST' serie'X' cadena hexadecimal'SAMPLEdecimalLIMITentero(,especificación de campo)WHEN(condición de selección)
especificación de campo
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-campo POSITION(*)POSITION( start)CHAR( longitud)TRUNCATECCSID1208Especificación CLOBFCCSID1208VARCHAR( longitud)especificación de la tiraCCSID1208Especificación CLOBFCCSID1208GRAPHICEXTERNALCCSID1200( longitud)TRUNCATEVARGRAPHIC( longitud)especificación de la tiraCCSID1200SMALLINTINTEGEREXTERNAL( longitud)BIGINTBINARY( longitud)TRUNCATEVARBINARYBINARY VARYINGespecificación de la tiraDECIMALPACKEDZONEDEXTERNAL( longitud,0, scale)FLOATEXTERNAL( longitud)DOUBLEREALDATEEXTERNAL( longitud)TIMEEXTERNAL( longitud)TIMESTAMPEXTERNAL( longitud)TIMESTAMPWITHTIMEZONEEXTERNAL( longitud)CONSTANT' serie'X' cadena hexadecimal'ROWIDBLOB( longitud)TRUNCATECLOB( longitud)TRUNCATECCSID1208DBCLOB( longitud)TRUNCATECCSID1200Especificación decfloatXMLBINARYXML
Especificación CLOBF
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualDBCLOBFCCSID1200CLOBFCCSID1208BLOBF nombre-plantilla BINARYXML
especificación de la tira
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualSTRIPBOTH TRAILINGLEADING' eliminar caracteres'1X' eliminar caracteres'TRUNCATE
Especificación decfloat
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual DECFLOAT (34)(16)EXTERNAL( longitud)
condición de selección
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualpredicado(condición de selección)ANDORpredicado(condición de selección)
predicado
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualpredicado básicoPredicado BETWEENPredicado INPredicado de LIKEPredicado NULL
predicado básico
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-columna =<>><>=<=constanteetiquetado-duración-expresión
Predicado BETWEEN
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-columna NOT BETWEEN constanteetiquetado-duración-expresión AND constanteetiquetado-duración-expresión
Predicado IN
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-columna NOT IN (,constante)
Predicado de LIKE
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-columna NOT LIKE cadena-constante ESCAPEcadena-constante
Predicado NULL
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visual nombre-columna IS NOT NULL
etiquetado-duración-expresión
Leer diagrama de sintaxisOmitir el diagrama de sintaxis visualCURRENT_DATECURRENT_TIMESTAMPWITHTIMEZONE +  - constanteYEARYEARSMONTHMONTHSDAYDAYSHOURHOURSMINUTEMINUTESSECONDSECONDSMICROSECONDMICROSECONDS
Notas:
  • 1 Si especifica VARGRÁFICO, BINARIO o VARBINARIO, no puede especificar 'strip-char'. Solo puede especificar X'strip-char'.

Descripciones de opciones para DESDE LA TABLA

nombre-tabla
Identifica una Db2 tabla de la que se van a descargar las filas y a la que se van a aplicar las opciones de la cláusula FROM TABLE.

Si el nombre de la tabla no está calificado por un nombre de esquema, el ID de autorización del invocador del paso de trabajo de la utilidad se utiliza como calificador de esquema del nombre de la tabla. Encierre el nombre de tabla entre comillas si la tabla contiene un espacio en blanco.

Si especifica una tabla eliminada en la opción FROM TABLE, la utilidad UNLOAD finaliza con el código de retorno 4.

HEADER
Especifica un campo de cabecera constante, al principio de los registros de salida, que puede utilizarse para asociar un registro de salida con la tabla de la que se descargó.

Si especifica un campo de cabecera, se utiliza como criterio de selección de campo de la cláusula WHEN (una parte de la especificación INTO-TABLE) en la sentencia LOAD que se genera.

OBID
Especifica que el identificador de objeto (OBID) de la tabla (un valor binario de 2 bytes) debe colocarse en los dos primeros bytes de los registros de salida que se descargan de la tabla.

Si omite la opción HEADER, HEADER OBID es el valor predeterminado, excepto para archivos delimitados.

Con HEADER OBID, los primeros 2 bytes del registro de salida no pueden ser utilizados por los datos descargados. Por ejemplo, considere la siguiente instrucción UNLOAD:

UNLOAD …
  FROM TABLE table-name HEADER OBID …

La instrucción UNLOAD anterior genera una instrucción LOAD similar al siguiente ejemplo:

LOAD …
  INTO TABLE table-name WHEN (1:2)=X'hh' …

En este ejemplo, X'hh' es la notación hexadecimal del OBID de la tabla nombre-tabla.

NONE
Indica que no se va a crear ningún campo de encabezado de registro. HEADER NONE es el valor predeterminado para un archivo delimitado.

Si se especifica HEADER NONE en una cláusula FROM TABLE, la cláusula INTO TABLE correspondiente en la sentencia LOAD generada no tiene una especificación WHEN. Por lo tanto, si se descargan filas de varias tablas y se especifica HEADER NONE en una o más cláusulas FROM TABLE, las filas que se descargan de esas tablas no se pueden volver a cargar hasta que se edite la instrucción LOAD generada. Si utiliza el extracto generado directamente con la utilidad LOAD, los resultados podrían ser impredecibles.

CONST
Especifica que se debe utilizar una cadena constante como encabezado de registro. El operando de cadena dado determina la longitud del campo de encabezado. El valor de la cadena debe ir entre comillas simples.

Por ejemplo, considere la siguiente instrucción UNLOAD:

UNLOAD …
  FROM TABLE table-name HEADER CONST 'abc' …

La instrucción UNLOAD anterior genera una instrucción LOAD similar al siguiente ejemplo:

LOAD …
  INTO TABLE table-name WHEN (1:3)='abc' …

En este ejemplo, se asume que la cadena dada está en formato SBCS EBCDIC. La cadena de salida del campo HEADER está en el esquema de codificación especificado o predeterminado. Si el esquema de codificación que se utiliza para la salida no es EBCDIC, la conversión SBCS CCSID se aplica a la cadena dada antes de que se coloque en los registros de salida. Si el esquema de codificación SBCS de salida no es EBCDIC, la condición WHEN en la sentencia LOAD generada contiene una cadena hexadecimal.

También puede utilizar la forma hexadecimal, X'cadena hexadecimal ', para representar una cadena constante. Si desea especificar un valor de cadena CONST en un esquema de codificación distinto de SBCS EBCDIC, utilice la forma hexadecimal. No se realiza ninguna conversión CCSID si se utiliza la forma hexadecimal.

SAMPLE decimal
Indica que solo se descargarán las filas de muestra de la tabla. Si las condiciones de selección se especifican mediante una cláusula WHEN dentro de la misma cláusula FROM TABLE, el muestreo se aplica a las filas que cumplen las condiciones de selección WHEN.
decimal
Especifica el porcentaje de las filas que se van a muestrear en formato decimal. La precisión es ddd.dddd, y el rango válido es 0 <= decimal <= 100.
Si el número de filas a las que se va a aplicar el muestreo es N:
  • Se descargan decimales × N/100 filas. (La fracción puede redondearse al número entero más cercano)
  • Si decimal > 0 y N > 0, se descarga al menos una fila.
  • Si decimal = 100, se descargan todas las filas de la tabla.
  • Si el decimal dado = 0 o N = 0, no se descarga ninguna fila de la tabla.

El muestreo se aplica para cada mesa individual. Si se descargan las filas de varias tablas con el muestreo habilitado, podría perderse la integridad referencial entre las tablas.

LIMIT entero
Especifica el número máximo de filas que se van a descargar de una tabla. Si el número de filas descargadas alcanza el límite especificado, se emite el mensaje DSNU1201 para la tabla y no se descargan más filas de la tabla. El proceso continúa descargando filas cualificadas de las otras tablas.

Cuando se activa el paralelismo de particiones, la opción LIMIT se aplica a cada partición en lugar de a toda la tabla.

entero
Indica el número máximo de filas que se van a descargar de una tabla. Si el número especificado es menor o igual a cero, no se descarga ninguna fila de la tabla.

Al igual que la opción MUESTRA, si se descargan varias tablas con la opción LÍMITE, la integridad referencial entre las tablas podría perderse.

nombre-campo
Identifica un nombre de columna que debe existir en la tabla de origen.
POSITION(inicio)
Especifica la posición del campo en el registro de salida. Puede especificar

el parámetro de posición de la siguiente manera:

*
Un asterisco, que indica que el campo comienza en el primer byte después de la última posición del campo anterior.
iniciar
Un número entero positivo que indica la columna inicial del campo de datos.

El valor predeterminado es POSITION(* ).

La primera columna (posición de byte) de un registro de salida corresponde a POSICIÓN(1). Si especifica HEADER NONE en la cláusula FROM TABLE, el elemento especificado por la opción HEADER se coloca al principio de todos los registros que se descargan de la tabla. Debe tener en cuenta el espacio para el encabezado del registro:

  • OBID DE CABECERA (el caso predeterminado): 2 bytes desde la posición 1.
  • CONST DE CABECERA 'cadena' o X'cadena-hex' mayúsculas: La longitud de la cadena dada desde la posición 1.

Si la columna de la tabla de origen puede ser nula, la utilidad coloca un byte indicador NULL al principio del campo de datos en el registro de salida. Para las columnas BLOBF, CLOBF o DBCLOBF, los valores nulos se indican mediante un byte al principio del nombre de archivo. El parámetro de inicio (o *) apunta a la posición del byte indicador NULL. En la sentencia LOAD generada, el inicio se desplaza 1 byte a la derecha (como start+1 ) de modo que, en la sentencia LOAD, el parámetro de inicio de la opción POSITION apunte al siguiente byte después del byte indicador NULL.

Para un campo de longitud variable, un campo de longitud precede al campo de datos real (después del byte indicador NULL, si procede). Para las columnas BLOBF, CLOBF o DBCLOBF, la longitud del nombre de archivo se indica mediante dos bytes al principio del nombre de archivo. Si el valor no puede ser nulo, el parámetro de inicio (o *) apunta al primer byte del campo de longitud. El tamaño del campo de longitud es de 4 bytes (BLOB, CLOB o DBCLOB) o de 2 bytes (VARCHAR o VARGRAPHIC).

Cuando especifique explícitamente las posiciones de los campos de salida utilizando parámetros de inicio (o utilizando el formato *) de la opción POSITION, debe considerar los siguientes elementos como parte del campo de salida:
  • Para un campo cuyo valor puede ser nulo, un espacio para el byte indicador NULL
  • Para datos de longitud variable, un espacio para el campo de longitud (2 bytes o 4 bytes)

El diseño de los campos de salida ilustra el diseño del campo junto con la opción POSITION, el byte indicador NULL, el campo de longitud para un campo de longitud variable, el parámetro de longitud y la longitud real de los datos.

La opción POSICIÓN es útil cuando los campos de salida deben colocarse en posiciones específicas en los registros de salida. Sin embargo, el uso de los parámetros POSITION puede restringir el tamaño de los campos de datos de salida. Tenga cuidado al especificar explícitamente los parámetros de inicio para campos anulables y de longitud variable. La opción TRUNCATE puede ser necesaria, si procede, para ajustar un elemento de datos en un espacio más corto en un registro de salida.

Si omite la opción POSICIÓN para el primer campo, el campo comienza desde la posición 1 si se especifica CABECERA NINGUNA. De lo contrario, el campo comienza desde la siguiente posición de byte después del campo de encabezado de registro. Si se omite POSICIÓN en un campo posterior, el campo se coloca junto a la última posición del campo anterior sin ningún espacio.

Si se especifica NOPAD y se dan parámetros POSITION para ciertos campos, el efecto de la opción NOPAD podría perderse porque los campos con parámetros de inicio (distintos del valor predeterminado *) siempre comienzan en las posiciones fijas de los registros de salida.

La opción POSITION se ignora para archivos de salida delimitados.

CHAR
Indica que el campo de salida es de tipo carácter con longitud fija. Puede utilizar CARÁCTER en lugar de CAR. Si la columna de la tabla fuente puede ser nula, se coloca un byte indicador NULL al principio del campo de salida para un archivo de salida no delimitado.

Si especifica las opciones EBCDIC, ASCII, UNICODE o CCSID, los datos de salida que corresponden a la opción especificada se codifican en el CCSID, dependiendo del subtipo de los datos de origen (SBCS o MIXED). Si el subtipo es BIT, no se aplica ninguna conversión.

(longitud)
Especifica el tamaño de los datos de salida en bytes.

Si va seguida de BLOBF, CLOBF o DBCLOBF, la longitud especifica el tamaño del nombre de la plantilla expandida en bytes.

Si se omite el parámetro de longitud, el valor predeterminado es la longitud máxima definida en la columna de la tabla de origen o la longitud en bytes del nombre de la plantilla expandida si BLOBF, CLOBF o DBCLOBF siguen a la palabra clave CHAR. Cuando se especifica el parámetro de longitud :
  • Si la longitud es menor que el tamaño de la columna de la tabla, los datos se truncan a la longitud si la palabra clave TRUNCATE está presente; de lo contrario, se produce un error de conversión.
  • En el caso de que BLOBF, CLOBF o DBCLOBF sigan inmediatamente, se producirá un error si la longitud es menor que el tamaño del nombre de la plantilla expandida.
  • Si la longitud es mayor que el tamaño de la columna de la tabla, el campo de salida se rellena con los caracteres de relleno predeterminados hasta la longitud especificada.
BLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el BLOB o XML sin conversión CCSID.
BINARYXML Especifica que el documento XML debe descargarse utilizando variables de referencia de archivo en formato XML binario dinámico extensible Db2 Formato XML binario cliente/servidor (XML binario). Esta opción solo es compatible al descargar una columna XML.
CLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el CLOB o XML con cualquier conversión CCSID necesaria.Inicio del cambio
CCSID 1208
Especifica que los datos se descargarán en el archivo CLOB en CCSID 1208 ( UTF-8 ). CCSID 1208 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC. Esta opción no se aplica a las columnas XML.
fin del cambio
DBCLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el DBCLOBF o XML con cualquier conversión CCSID necesaria.Inicio del cambio
CCSID 1200
Especifica que los datos se descargarán en el archivo CLOB en CCSID 1200 ( UTF-16 ). CCSID 1200 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC. Esta opción no se aplica a las columnas XML.
fin del cambio
TRUNCATE
Indica que una cadena de caracteres (codificada para salida) debe truncarse por la derecha, si los datos no caben en el espacio disponible para el campo en el registro de salida. El truncamiento se produce en el límite de caracteres. Consulte Especificación de las opciones TRUNCATE y STRIP para los datos de salida para conocer las reglas de truncamiento que se utilizan en la utilidad UNLOAD. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1208fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1208 ( UTF-8 ). CCSID 1208 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
VARCHAR
Especifica que el tipo de campo de salida es carácter de longitud variable. Un campo binario de 2 bytes que indica la longitud de los datos en bytes se antepone al campo de datos. Si la columna de la tabla puede ser nula, se coloca un byte indicador NULL antes de este campo de longitud para un archivo de salida no delimitado.

Si especifica las opciones EBCDIC, ASCII, UNICODE o CCSID, los datos de salida se codifican en el CCSID correspondiente a la opción especificada, dependiendo del subtipo de los datos de origen (SBCS o MIXED). Si el subtipo es BIT, no se aplica ninguna conversión.

(longitud)
Especifica la longitud máxima del campo de datos real en bytes. Si también especifica NOPAD, indica el espacio máximo permitido para los datos en los registros de salida; de lo contrario, el espacio de la longitud especificada se reserva para los datos.

Si va seguida de BLOBF, CLOBF o DBCLOBF, la longitud especifica el tamaño del nombre de la plantilla expandida en bytes. Si la longitud es menor que el tamaño de la plantilla expandida, se producirá un error.

Si se omite el parámetro de longitud, el valor predeterminado es el menor de 255 y la longitud máxima definida en la columna de la tabla de origen.

BLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el BLOB o XML sin conversión CCSID.
BINARYXML Especifica que el documento XML debe descargarse utilizando variables de referencia de archivo en formato XML binario. Esta opción solo es compatible al descargar una columna XML.
CLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el CLOB o XML con cualquier conversión CCSID necesaria.Inicio del cambio
CCSID 1208
Especifica que los datos se descargarán en el archivo CLOB en CCSID 1208 ( UTF-8 ). CCSID 1208 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC. Esta opción no se aplica a las columnas XML.
fin del cambio
DBCLOBF
Especifica que el campo de salida debe contener el nombre del archivo al que se va a descargar el DBCLOBF o XML con cualquier conversión CCSID necesaria.Inicio del cambio
CCSID 1200
Especifica que los datos se descargarán en el archivo CLOB en CCSID 1200 ( UTF-16 ). CCSID 1200 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC. Esta opción no se aplica a las columnas XML.
fin del cambio
STRIP
Especifica que DESCARGAR es eliminar los ceros binarios (el valor predeterminado) o la cadena especificada del principio, del final o de ambos extremos de los datos. UNLOAD ajusta el campo de longitud VARCHAR (para el campo de salida) a la longitud de los datos eliminados.

La opción STRIP es aplicable si el subtipo de los datos de origen es BIT. En este caso, no se realiza ninguna conversión CCSID en el carácter de separación especificado (incluso si se da en la forma 'strip-char ').

El efecto de la opción STRIP es el mismo que el de la función escalar SQL STRIP.

BOTH
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado del principio y el final de los datos. El default es AMBOS.
TRAILING
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado al final de los datos.
LEADING
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado al principio de los datos.
«strip-char»
Especifica un carácter de un solo byte que se va a eliminar. Especifique este valor de carácter en EBCDIC. Dependiendo del esquema de codificación de salida, UNLOAD aplica la conversión SBCS CCSID al valor strip-char antes de que se utilice en la operación de strip. Si desea especificar un valor de caracteres de banda en un esquema de codificación distinto de EBCDIC, utilice la forma hexadecimal. UNLOAD no realiza la conversión CCSID si se utiliza el formato hexadecimal.
X'strip-char'
Especifica un carácter de un solo byte que se va a eliminar. Se puede especificar en forma hexadecimal, X' cadena-hexadecimal ', donde cadena-hexadecimal son dos caracteres hexadecimales que representan un único carácter SBCS. Si se omite el operando strip-char, el valor predeterminado es el carácter en blanco, que está codificado de la siguiente manera:
  • X'40', para el caso de salida codificado en EBCDIC
  • X'20' para el caso de salida codificado en ASCII
  • X'20' la caja de salida codificada en Unicode

La operación de separación se aplica después de la conversión del código de caracteres, si el esquema de codificación de caracteres de salida es diferente del que está definido en los datos de origen. Por lo tanto, si se especifica un carácter de banda en formato hexadecimal, debe especificar el carácter en el esquema de codificación que se utiliza para la salida.

TRUNCATE
Indica que una cadena de caracteres (codificada para salida) debe truncarse desde la derecha, si los datos no caben en el espacio disponible para el campo en los registros de salida. La truncación se produce en un límite de caracteres. Consulte Especificación de las opciones TRUNCATE y STRIP para los datos de salida para conocer las reglas de truncamiento que se utilizan en la utilidad UNLOAD. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1208fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1208 ( UTF-8 ). CCSID 1208 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
GRAPHIC
Especifica que el campo de salida es del tipo gráfico de longitud fija. Si la columna de la tabla puede ser nula, se coloca un byte indicador NULL antes del campo de datos real para cualquier archivo de salida no delimitado.

Si la salida está en EBCDIC, los caracteres de cambio de entrada y de cambio de salida no se incluyen al principio y al final de los datos.

(longitud)
Especifica el número de caracteres DBCS (el tamaño de los datos de salida en bytes es el doble de la longitud dada). Si la longitud dada es mayor que la longitud de los datos de origen, el campo de salida se rellena con el carácter de relleno predeterminado.
TRUNCATE
Indica que una cadena de caracteres gráfica (codificada para salida) debe truncarse por la derecha, si los datos no caben en el espacio disponible para el campo en los registros de salida. La truncación se produce en un límite de caracteres (DBCS). Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1200fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1200 ( UTF-16 ). CCSID 1200 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
GRAPHIC EXTERNAL
Especifica que los datos deben escribirse en los registros de salida como un campo de longitud fija del tipo gráfico con el formato externo; es decir, el carácter de desplazamiento de salida (SO) se coloca en la posición inicial y el carácter de desplazamiento de entrada (SI) se coloca en la posición final. El recuento de bytes del campo de salida es siempre un número par.

GRAPHIC EXTERNAL solo es compatible en el modo de salida EBCDIC (por defecto o cuando se especifica la palabra clave EBCDIC).

Si el parámetro de inicio de la opción POSICIÓN se utiliza para especificar la posición de la columna de salida, apunta al carácter de desplazamiento (insertado) al principio del campo. El carácter de cambio se coloca en la siguiente posición de byte después del último carácter de doble byte de los datos.

(longitud)
Especifica un número de caracteres DBCS, excluyendo los caracteres de cambio (como en la definición de columna de tipo gráfico que se utiliza en una instrucción CREATE TABLE) ni el byte indicador NULL si la columna de origen puede ser nula. Si se omite el parámetro de longitud, el tamaño de campo de salida predeterminado es la longitud definida en la columna de la tabla correspondiente, más dos bytes (caracteres de desplazamiento de salida y de entrada).

Si la longitud especificada es mayor que el tamaño de los datos, el campo se rellena a la derecha con el carácter de relleno DBCS predeterminado.

TRUNCATE
Indica que una cadena de caracteres gráfica debe truncarse por la derecha con los caracteres DBCS, si los datos no caben en el espacio disponible para el campo en los registros de salida. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos. También puede producirse un error con la opción TRUNCATE si el espacio disponible es inferior a 4 bytes (4 bytes es el tamaño mínimo para un campo GRAPHIC EXTERNAL; carácter de desplazamiento de salida, un DBCS y carácter de desplazamiento de entrada); o inferior a 5 bytes si el campo puede ser nulo (los 4 bytes más el byte indicador NULL).
VARGRAPHIC
Especifica que el campo de salida debe ser del tipo gráfico de longitud variable. Se antepone un campo de longitud binaria de 2 bytes al campo de datos real. Si la columna de la tabla puede ser nula, se coloca un byte indicador NULL antes de este campo de longitud para cualquier archivo de salida no delimitado.
(longitud)
Especifica la longitud máxima del campo de datos real en el número de caracteres DBCS. Si también especifica NOPAD, indica el espacio máximo permitido para los datos en los registros de salida; de lo contrario, el espacio de la longitud especificada se reserva para los datos.

Si se omite el parámetro de longitud, el valor predeterminado es el menor de 127 y la longitud máxima definida de la columna de la tabla de origen.

STRIP
Indica que DESCARGAR es para eliminar los ceros binarios (el valor predeterminado) o la cadena especificada de los datos descargados. UNLOAD ajusta el campo de longitud VARGRAPHIC (para el campo de salida) a la longitud de los datos despojados (el número de caracteres DBCS).

El efecto de la opción STRIP es el mismo que el de la función escalar SQL STRIP.

BOTH
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado del principio y el final de los datos. El default es AMBOS.
TRAILING
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado al final de los datos.
LEADING
Indica que DESCARGAR es eliminar las apariciones de espacios en blanco o el carácter de separación especificado al principio de los datos.
X'strip-char'
Especifica un carácter DBCS que se debe eliminar en el formato hexadecimal, X ' hhhh ', donde hhhh son cuatro caracteres hexadecimales que representan un carácter DBCS. Si se omite este operando, el valor predeterminado es un espacio DBCS en el esquema de codificación de salida (por ejemplo, X'4040' para la salida codificada en EBCDIC o X'8140' para CCSID 301).

La operación de separación se aplica después de la conversión del código de caracteres, si el esquema de codificación de caracteres de salida es diferente del que está definido en los datos de origen. Por lo tanto, si especifica un carácter de tira, debe estar en el esquema de codificación que se utiliza para la salida.

TRUNCATE
Indica que una cadena de caracteres gráfica (codificada para salida) debe truncarse por la derecha, si los datos no caben en el espacio disponible para el campo en los registros de salida. La truncación se produce en un límite de caracteres DBCS. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1200fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1200 ( UTF-16 ). CCSID 1200 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
SMALLINT
Especifica que el campo de salida es un entero binario de 2 bytes (un número negativo está en notación de complemento a dos). Para utilizar el formato externo, especifique INTEGER EXTERNAL.

Si el tipo de datos de origen es INTEGER, DECIMAL, FLOAT, BIGINT o DECFLOAT (ya sea en formato de 4 bytes o de 8 bytes), se produce un error cuando los datos son mayores de 32 767 o menores de -32 768.

Un campo de salida SMALLINT requiere 2 bytes y la opción de longitud no está disponible.

INTEGER
Especifica que el campo de salida es un entero binario de 4 bytes (un número negativo está en notación de complemento a dos).

Si el tipo de datos original es DECIMAL, FLOAT, BIGINT o DECFLOAT (ya sea en formato de 4 bytes o de 8 bytes), se produce un error cuando los datos originales son mayores de 2.147.483.647 o menores de -2.147.483.648.

Un campo de salida INTEGER requiere 4 bytes y la opción de longitud no está disponible.

INTEGER EXTERNAL
Especifica que el campo de salida debe contener una cadena de caracteres que represente un número entero.
(longitud)
Indica el tamaño de los datos de salida en bytes, incluido un espacio para el carácter de signo. Cuando se indica la longitud y la notación de caracteres no cabe en el espacio, se produce un error. El valor predeterminado es de 20 caracteres (incluido un espacio para el signo).

Si el valor es negativo, un signo menos precede a los dígitos numéricos. Si el tamaño del campo de salida es mayor que la longitud de los datos, los datos de salida se justifican a la izquierda y los espacios en blanco se rellenan a la derecha.

Si el tipo de datos de origen es DECIMAL, FLOAT (ya sea en formato de 4 bytes u 8 bytes) o DECFLOAT (ya sea en formato de 8 bytes o 16 bytes), se produce un error cuando los datos originales son mayores de 9.223.372.036.854.775.807 o menores de -9.223.372.036.854.775.808.

BIGINT
Especifica que el campo de salida es un entero binario de 8 bytes (un número negativo está en notación de complemento a dos). Para utilizar el formato externo, especifique INTEGER EXTERNAL.

Si el tipo de datos original es DECIMAL, FLOAT o DECFLOAT (ya sea en formato de 4 bytes o de 8 bytes), se produce un error cuando los datos originales son mayores de 9.223.372.036.854.775.807 o menores de -9.223.372.036.854.775.808.

BINARY(longitud )
Indica que el campo de salida es un tipo de cadena binaria con una longitud fija. Si la columna de la tabla fuente puede ser nula, se coloca un byte indicador NULL al principio del campo de salida para un archivo de salida no delimitado. No se aplica ninguna conversión de datos al campo. El valor predeterminado para X'strip-char' es cero hexadecimal (X'00 ').
TRUNCATE
Indica que la cadena binaria de salida (codificada para salida) debe truncarse desde la derecha, si los datos no caben en el espacio disponible para el campo en los registros de salida. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
VARBINARY
Indica que el campo de salida es un tipo de cadena binaria con longitud variable. Un campo binario de 2 bytes que indica la longitud de los datos en bytes se antepone al campo de datos. Si la columna de la tabla puede ser nula, se coloca un byte indicador NULL antes del campo de longitud para un archivo de salida no delimitado. No se aplica ninguna conversión de datos al campo. El valor predeterminado para X'strip-char' es cero hexadecimal (X'00 ').
STRIP
Especifica que DESCARGAR es eliminar los ceros binarios (el valor predeterminado) o la cadena especificada del principio, del final o de ambos extremos de los datos. UNLOAD ajusta el campo de longitud VARBINARY (para el campo de salida) a la longitud de los datos eliminados.
TANTO
Indica que DESCARGAR es eliminar las apariciones de ceros binarios o el carácter de separación especificado del principio y el final de los datos. El default es AMBOS.
TRAILING
Indica que DESCARGAR es eliminar las apariciones de ceros binarios o el carácter de separación especificado del final de los datos.
LEADING
Indica que DESCARGAR es eliminar las apariciones de ceros binarios o el carácter de separación especificado desde el principio de los datos.
X'strip-char'
Especifica un carácter de un solo byte que se va a eliminar. Solo se puede especificar en forma hexadecimal, X' cadena-hexadecimal ', donde cadena-hexadecimal son dos caracteres hexadecimales que representan un único carácter SBCS.
TRUNCATE
Indica que una cadena binaria (codificada para salida) debe truncarse desde la derecha, si los datos no caben en el espacio disponible para el campo en los registros de salida. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
DECIMAL
Especifica que los datos de salida son un número representado por el formato decimal indicado (ya sea COMPACTO, ZONIFICADO o EXTERNO). Si especifica la palabra clave DECIMAL sola, se asume el formato decimal empaquetado.
PACKED
Especifica que los datos de salida son un número representado por el formato decimal condensado. Puede utilizar DEC o como forma abreviada de la palabra clave DEC PACKED como forma abreviada de la palabra clave.

La representación decimal empaquetada de un número tiene la forma ddd...ds, donde d es un dígito decimal que se representa mediante 4 bits, y s es un carácter de signo de 4 bits (hexadecimal A, C, E o F para un número positivo, y hexadecimal B o D para un número negativo).

Longitud
Especifica el número de dígitos (sin incluir el dígito de signo) que se van a colocar en el campo de salida. La longitud debe estar entre 1 y 31. Si la longitud es impar, el tamaño del campo de datos de salida es (longitud+1 ) / 2 bytes; si es par, (longitud / 2)+1 byte.

Si el tipo de datos de origen es DECIMAL y se omite el parámetro de longitud, la longitud predeterminada viene determinada por el atributo de columna definido en la tabla. De lo contrario, la longitud predeterminada es de 31 dígitos (16 bytes).

escala
Especifica el número de dígitos a la derecha del punto decimal. (Tenga en cuenta que, en este caso, no se incluye un punto decimal en el campo de salida) El número debe ser un entero mayor o igual que cero y menor o igual que la longitud.

El valor predeterminado depende del atributo de columna que se defina en la tabla. Si el tipo de datos de origen es DECIMAL, el valor de escala definido es el valor predeterminado; de lo contrario, el valor predeterminado es 0.

Si especifica un tamaño de campo de salida inferior a la longitud de los datos, se producirá un error. Si el tamaño de campo especificado es mayor que la longitud de los datos, se añade un «0» a la izquierda.

ZONED
Especifica que los datos de salida son un número representado por el formato decimal con zonas. Puede utilizar DEC ZONED como forma abreviada de la palabra clave.

La representación decimal por zonas de un número es de la forma znznzn...z/sn, donde n denota un dígito decimal de 4 bits (llamado bits numéricos); z es la zona del dígito (4 bits izquierdos de un byte); s es el operando más a la derecha que puede ser una zona (z) o puede ser un valor de signo (hexadecimal A, C, E o F para un número positivo, y hexadecimal B o D para un número negativo).

Longitud
Especifica el número de bytes (es decir, el número de dígitos decimales) que se colocan en el campo de salida. La longitud debe estar entre 1 y 31.

Si el tipo de datos de origen es DECIMAL y se omite el parámetro de longitud, la longitud predeterminada viene determinada por el atributo de columna que se define en la tabla. De lo contrario, la longitud predeterminada es de 31 bytes.

escala
Especifica el número de dígitos a la derecha del punto decimal. (Tenga en cuenta que, en este caso, no se incluye un punto decimal en el campo de salida) El número debe ser un entero mayor o igual a cero y menor o igual a la longitud.

El valor predeterminado depende del atributo de columna que se defina en la tabla. Si el tipo de datos de origen es DECIMAL, el valor de escala definido es el valor predeterminado; de lo contrario, el valor predeterminado es 0.

Si especifica un tamaño de campo de salida inferior a la longitud de los datos, se producirá un error. Si el tamaño de campo especificado es mayor que la longitud de los datos, se añade «X' F0 » a la izquierda.

EXTERNAL
Especifica que los datos de salida son una cadena de caracteres que representa un número en la forma ±dd... d.ddd...d, donde d es un carácter numérico del 0 al 9. (Se omite el signo más para un valor positivo)
Longitud
Especifica la longitud total de los datos de salida (el número de caracteres, incluido un signo y un punto decimal si se especifica la escala ).

Si el tipo de datos de origen es DECIMAL y se omite el parámetro de longitud, la longitud predeterminada viene determinada por el atributo de columna que se define en la tabla. De lo contrario, la longitud predeterminada es 33 (31 dígitos numéricos, más un signo y un punto decimal). El valor mínimo de longitud es 3 para acomodar el signo, un dígito y el punto decimal.

escala
Especifica el número de dígitos a la derecha del punto decimal. El número debe ser un entero mayor o igual que cero y menor o igual que la longitud - 2 (para permitir el carácter de signo y el punto decimal).

Si el tipo de datos de origen es DECIMAL y se omite el parámetro de longitud, la escala predeterminada viene determinada por el atributo de columna que se define en la tabla. De lo contrario, el valor predeterminado es 0.

Se produce un error si la representación de caracteres de un valor no cabe en el tamaño de campo dado o predeterminado (precisión). Si el tipo de datos de origen es de coma flotante y un elemento de datos es demasiado pequeño para la precisión definida por la escala, se devuelve el valor cero (no un error).

FLOAT(longitud)
Especifica que los datos de salida son un número binario de coma flotante (FLOAT de 32 bits o de precisión simple si la longitud está entre uno y 21 inclusive; FLOAT de 64 bits o de precisión doble si la longitud está entre 22 y 53 inclusive). Si se omite el parámetro de longitud, se asume el formato de 64 bits (el tamaño del campo de salida es de 8 bytes). Tenga en cuenta que el parámetro de longitud para el tipo FLOAT no representa el tamaño del campo en bytes.

El formato de la salida de punto flotante binario se controla mediante la opción global FLOAT. El formato predeterminado es el formato de coma flotante hexadecimal ( S/390, HFP). Si especifica FLOAT(IEEE), toda la salida de punto flotante binario está en formato IEEE (punto flotante binario o BFP). Cuando se especifica FLOAT(IEEE) y el tipo de datos de origen DOUBLE se descarga como REAL, se produce un error si los datos de origen no pueden expresarse mediante la notación IEEE (BFP) de 32 bits.

EXTERNAL(longitud)
Especifica que los datos de salida son un número representado por una cadena de caracteres en notación de punto flotante, ± d.ddd...dddE ± nn, donde d es un carácter numérico (0-9) para los dígitos significativos; nn después del carácter E, y el signo consta de dos caracteres numéricos para el exponente.
(longitud)
Especifica la longitud total del campo en bytes, incluyendo el primer carácter de signo, el punto decimal, el carácter E, el segundo carácter de signo y el exponente de dos dígitos. Si el número de caracteres del resultado es inferior a la longitud especificada o predeterminada, el resultado se rellena a la derecha con espacios en blanco. La longitud, si se especifica, debe ser mayor o igual a 8.

El tamaño predeterminado del campo de salida es 14 si el tipo de datos de origen es FLOAT de 32 bits; de lo contrario, el valor predeterminado es 24.

Un campo de salida FLOAT EXTERNAL requiere un espacio de al menos siete caracteres en el registro de salida para acomodar la notación mínima de punto flotante. De lo contrario, se produce un error.
DOUBLE
Especifica que los datos de salida están en notación de coma flotante de 64 bits. Si se utiliza DOBLE, no debe especificarse el parámetro de longitud.
REAL
Especifica que los datos de salida están en notación de punto flotante de 32 bits. Si se utiliza REAL, no debe especificarse el parámetro de longitud.
DATE EXTERNAL
Especifica que el campo de salida es para una representación de cadena de caracteres de una fecha. El formato de salida de la fecha depende de la Db2 instalación.
(longitud)
Especifica el tamaño del campo de datos en bytes en el registro de salida. Un campo FECHA EXTERNA requiere un espacio de al menos 10 caracteres. Si el espacio no está disponible, se produce un error. Si la longitud especificada es mayor que el tamaño de los datos, se rellenan los espacios en blanco a la derecha.
TIME EXTERNAL
Especifica que el campo de salida es para una representación de cadena de caracteres de una hora. El formato de salida de la hora depende de la Db2 instalación.
(longitud)
Especifica el tamaño del campo de datos en bytes en el registro de salida. Un campo TIME EXTERNAL requiere un espacio de al menos ocho caracteres. Si el espacio no está disponible, se produce un error de conversión. Si la longitud especificada es mayor que el tamaño de los datos, se rellenan los espacios en blanco a la derecha.
TIMESTAMP EXTERNAL
Especifica que el campo de salida es para una representación de cadena de caracteres de una marca de tiempo.
(longitud)
Especifica el tamaño del campo de datos en bytes en el registro de salida. Un campo EXTERNO TIMESTAMP requiere un espacio de al menos 19 caracteres. Si el espacio no está disponible, se produce un error. El parámetro de longitud, si se especifica, determina el formato de salida del TIMESTAMP. Si la longitud especificada es mayor que el tamaño de los datos, el campo se rellena a la derecha con el carácter de relleno predeterminado.
TIMESTAMP WITH TIMEZONE EXTERNAL
Especifica que el campo de salida es para una representación de cadena de caracteres de una marca de tiempo.
(longitud)
Especifica el tamaño del campo de datos en bytes en el registro de salida. Un campo EXTERNO DE MARCA DE TIEMPO CON ZONA HORARIA requiere un espacio de al menos 26 caracteres. Si el espacio no está disponible, se produce un error. El parámetro de longitud, si se especifica, determina el formato de salida del TIMESTAMP WITH TIME ZONE. Si la longitud especificada es mayor que el tamaño de los datos, el campo se rellena a la derecha con el carácter de relleno predeterminado.
CONSTANT
Especifica que los registros de salida deben tener un campo adicional que contenga un valor constante. El nombre de campo asociado a la palabra clave CONSTANT no debe coincidir con el nombre de una columna de la tabla (el nombre de campo es solo para fines aclaratorios). Un campo CONSTANT siempre tiene una longitud fija que es igual a la longitud de la cadena dada.
«string»
Especifica la cadena de caracteres que se va a insertar en los registros de salida en la posición especificada o predeterminada. Una cadena es el operando requerido de la opción CONSTANT. Si la cadena dada está en el formato «cadena », se asume que es una cadena EBCDIC SBCS. Sin embargo, la cadena de salida para un campo CONSTANT se encuentra en el esquema de codificación especificado o predeterminado. (Es decir, si el esquema de codificación utilizado para la salida no es EBCDIC, la conversión SBCS CCSID se aplica a la cadena dada antes de que se coloque en los registros de salida)
X'cadena-hexadecimal'
Especifica la cadena de caracteres en formato hexadecimal, X'cadena hexadecimal ', que se va a insertar en los registros de salida en la posición especificada o predeterminada. Si desea especificar un valor de cadena CONSTANTE en un esquema de codificación distinto de SBCS EBCDIC, utilice la forma hexadecimal. No se realiza ninguna conversión CCSID si se utiliza la forma hexadecimal.

Para un campo CONSTANTE, no se deben especificar otras opciones de la lista de selección de campos.

Si se inserta un campo CONSTANT, no se incluirá en la sentencia LOAD generada (la sentencia LOAD se genera de modo que el campo CONSTANT se omite).

Si especifica FORMAT DELIMITED y CONSTANT, la instrucción LOAD generada no se puede utilizar.

ROWID
Especifica que los datos de salida son de tipo ROWID. El tipo de campo ROWID puede especificarse si y solo si la columna que se va a descargar es de tipo ROWID. La palabra clave se proporciona con fines de coherencia.

Los campos ROWID tienen una longitud variable y un campo de longitud binaria de 2 bytes se antepone al campo de datos real.

Para el tipo ROWID, no se aplica conversión ni truncamiento de datos. Si el tamaño del campo de salida es demasiado pequeño para descargar los datos ROWID, se produce un error.

Si el origen es una copia de imagen y se selecciona una columna ROWID, y si falta la página de encabezado del conjunto de páginas en el conjunto de datos especificado, la utilidad UNLOAD finaliza con el mensaje de error " DSNU1228I ". Esta situación puede ocurrir cuando la fuente es un conjunto de datos de copia de imagen de DSNUM que es mayor que uno para un espacio de tabla no particionado que está definido en múltiples conjuntos de datos.

BLOB
Indica que la columna se debe descargar como un objeto binario de gran tamaño (BLOB). No se aplica ninguna conversión de datos al campo.

Inicio del cambioCuando se especifica el tipo de campo BLOB, se coloca un campo de longitud binaria en el registro de salida antes del campo de datos real. Este campo de longitud es de 2 bytes si se especifica SPANNED NO y de 4 bytes si se especifica SPANNED YES. Si la columna de la tabla fuente puede ser nula, se coloca un byte indicador NULL antes del campo de longitud.fin del cambio

(longitud)
Especifica la longitud máxima del campo de datos real en bytes. Si especifica NOPAD, indica el espacio máximo permitido para los datos en los registros de salida; de lo contrario, el espacio de la longitud especificada se reserva para los datos.

El valor máximo permitido es 32767.

El valor predeterminado es la longitud máxima definida en la columna de la tabla de origen.

TRUNCATE
Indica que una cadena BLOB debe truncarse desde la derecha, si los datos no caben en el espacio disponible para el campo en el registro de salida. Para los datos BLOB, el truncamiento se produce en un límite de bytes. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
CLOB
Indica que la columna se descargará como un objeto de gran tamaño de caracteres (CLOB).

Cuando especifique el tipo de campo CLOB, se colocará un campo de longitud binaria de 4 bytes en el registro de salida antes del campo de datos real. Si la columna de la tabla fuente puede ser nula, se coloca un byte indicador NULL antes del campo de longitud.

Si especifica las opciones EBCDIC, ASCII, UNICODE o CCSID, los datos de salida se codifican en el CCSID correspondiente a la opción especificada, dependiendo del subtipo de los datos de origen (SBCS o MIXED). No se aplica ninguna conversión si el subtipo es BIT.

(longitud)
Especifica la longitud máxima del campo de datos real en bytes. Si especifica NOPAD, indica el espacio máximo permitido para los datos en los registros de salida; de lo contrario, el espacio de la longitud especificada se reserva para los datos.

El valor máximo permitido es 32767.

El valor predeterminado es la longitud máxima definida en la columna de la tabla de origen.

TRUNCATE
Indica que una cadena CLOB (codificada para salida) debe truncarse por la derecha, si los datos no caben en el espacio disponible para el campo en el registro de salida. Para los datos CLOB, el truncamiento se produce en un límite de caracteres. Consulte Especificación de las opciones TRUNCATE y STRIP para los datos de salida para conocer las reglas de truncamiento que se utilizan en la utilidad UNLOAD. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1208fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1208 ( UTF-8 ). CCSID 1208 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
DBCLOB
Indica que la columna se debe descargar como un objeto grande de caracteres de doble byte (DBCLOB).

Si especifica el tipo de campo DBCLOB, se coloca un campo de longitud binaria de 4 bytes en el registro de salida antes del campo de datos real. Si la columna de la tabla fuente puede ser nula, se coloca un byte indicador NULL antes del campo de longitud.

Si especifica las opciones EBCDIC, ASCII, UNICODE o CCSID, los datos de salida se codifican en el CCSID correspondiente a la opción especificada; se utiliza DBCS CCSID.

(longitud)
Especifica la longitud máxima del campo de datos real en el número de caracteres DBCS. Si especifica NOPAD, indica el espacio máximo permitido para los datos en los registros de salida; de lo contrario, el espacio de la longitud especificada se reserva para los datos.

El valor máximo permitido es 32767.

El valor predeterminado es la longitud máxima definida en la columna de la tabla de origen.

TRUNCATE
Indica que una cadena DBCS (codificada para salida) debe truncarse desde la derecha, si los datos no caben en el espacio disponible para el campo en el registro de salida. Para un dato DBCLOB, el truncamiento se produce en un límite de caracteres (DBCS). Consulte Especificación de las opciones TRUNCATE y STRIP para los datos de salida para conocer las reglas de truncamiento que se utilizan en la utilidad UNLOAD. Sin TRUNCATE, se produce un error cuando el tamaño del campo de salida es demasiado pequeño para los datos.
Inicio del cambioCCSID 1200fin del cambio
Inicio del cambioEspecifica que los datos se descargarán en CCSID 1200 ( UTF-16 ). CCSID 1200 solo se puede especificar para descargar datos de una columna Unicode en una tabla EBCDIC.fin del cambio
DECFLOAT (longitud)
Especifica un número decimal de coma flotante de 128 bits o un número decimal de coma flotante de 64 bits. El valor de la longitud debe ser 16 o 34. Si la longitud es 16, el número está en formato de número decimal de coma flotante de 64 bits. Si la longitud es 34, el número está en formato decimal de coma flotante de 128 bits. La longitud predeterminada viene determinada por el atributo de columna definido en la tabla. De lo contrario, la longitud predeterminada es 34 (16 bytes).
DECFLOAT EXTERNAL
Especifica una cadena de caracteres que representan un número. El formato es una constante numérica SQL.
(longitud)
Especifica la longitud total del campo en bytes. Esta longitud incluye el primer carácter de signo, el punto decimal, el carácter E, el segundo carácter de signo y el exponente si están en la cadena. Si el número de caracteres del resultado es inferior a la longitud especificada o predeterminada, el resultado se rellena a la derecha con espacios en blanco. La representación de caracteres de un valor debe ajustarse al tamaño de campo predeterminado o indicado.

El tamaño predeterminado del campo de salida es 23 si el tipo de datos de origen es DECFLOAT(16). De lo contrario, el valor predeterminado es 42.

XML
Especifica que una columna XML se está descargando directamente en el registro de salida.
BINARYXML Especifica que el documento XML debe descargarse en formato XML binario.
WHEN
Indica qué registros del espacio de tabla se van a descargar. Si no se especifica ninguna cláusula WHEN para una tabla en el espacio de tablas, se descargan todos los registros.

La opción que sigue a CUANDO describe las condiciones para descargar registros de una tabla.

Los datos de la tabla pueden estar en EBCDIC, ASCII o Unicode. Si la tabla de destino está en Unicode y las constantes de caracteres se especifican en la instrucción de control de la utilidad como EBCDIC, la utilidad UNLOAD convierte estas constantes a Unicode. Para utilizar una constante cuando la tabla de destino es ASCII, especifique la forma hexadecimal de la constante (en lugar de la forma de cadena de caracteres) en la condición de la cláusula WHEN.

condición de selección
Especifica una condición que es verdadera, falsa o desconocida sobre una fila determinada. Cuando la condición es verdadera, la fila cumple los requisitos para DESCARGAR. Cuando la condición es falsa o desconocida, la fila no cumple los requisitos.

El resultado de una condición de selección se obtiene aplicando los operadores lógicos especificados (AND y OR) al resultado de cada predicado especificado. Si no se especifican operadores lógicos, el resultado de la condición de selección es el resultado del predicado especificado.

Las condiciones de selección entre paréntesis se evalúan primero. Si el orden de evaluación no se especifica entre paréntesis, se aplica AND antes de OR.

Si la sentencia de control está en el mismo esquema de codificación que los datos de entrada, puede codificar constantes de caracteres en la sentencia de control. De lo contrario, si la instrucción de control no está en el mismo esquema de codificación que los datos de entrada, debe codificar la condición con constantes hexadecimales. Por ejemplo, si el espacio de la tabla está en EBCDIC y la instrucción de control está en UTF-8, utilice (1:1) = X'31' en la condición en lugar de (1:1) = '1'.

Inicio del cambioSi se utiliza el carácter comodín ' %' i, el valor hexadecimal del carácter comodín debe estar en EBCDIC. Por ejemplo, en la siguiente declaración, x'41' significa 'A' en UNICODE y ASCII y x'6C' significa '%' en EBCDIC: COL1 LIKE X'416C'.fin del cambio

Restricción : UNLOAD no puede filtrar filas que contengan datos cifrados.
predicado
Especifica una condición que es verdadera, falsa o desconocida sobre una fila.

En el predicado, no puede especificar una constante DECFLOAT ni una columna de ninguno de los siguientes tipos:

  • DECFLOAT
  • LONG VARCHAR
  • LONG VARGRAPHIC
  • ROWID
  • CLOB
  • BLOB
  • DBCLOB

Puede especificar una columna XML solo con IS NULL o IS NOT NULL.

Puede especificar una columna VARCHAR solo con los siguientes predicados:

  • IS NULL
  • NO ES NULO
  • Una comparación con un valor HEX o CHAR de longitud fija

Puede especificar una columna VARGRÁFICA solo con los siguientes predicados:

  • IS NULL
  • NO ES NULO
  • Una comparación con un valor HEX o GRÁFICO de longitud fija

Los nombres de las columnas en el predicado distinguen entre mayúsculas y minúsculas. Por ejemplo, si una columna de la tabla de origen se llama SALARY, SALARY=20000 es un predicado válido, pero salary=20000 no lo es.

predicado básico
Especifica la comparación de una columna con una constante. Si el valor de la columna es nulo, el resultado del predicado es desconocido. De lo contrario, el resultado del predicado es verdadero o falso.
columna = constante
La columna es igual a la expresión de duración constante o etiquetada.
columna < > constante
La columna no es igual a la expresión de duración constante o etiquetada.
columna > constante
La columna es mayor que la constante o la expresión de duración etiquetada.
columna < constante
La columna es menor que la constante o la expresión de duración etiquetada.
columna > = constante
La columna es mayor o igual que la expresión de duración constante o etiquetada.
columna < = constante
La columna es menor o igual que la expresión de duración constante o etiquetada.
Nota : Los siguientes operadores de comparación alternativos están disponibles:
  • != o ¬= para no igual.
  • !> o ¬> por un importe no superior a.
  • !< o ¬< para no menos de.
El símbolo ¬ que representa no se admite por motivos de compatibilidad. ¡Utilizar! siempre que sea posible.
ENTRE predicado
Indica si un valor dado está entre otros dos valores dados que se especifican en orden ascendente. Los valores pueden ser constantes o expresiones de duración etiquetadas. Cada una de las dos formas del predicado (BETWEEN y NOT BETWEEN) tiene una condición de búsqueda equivalente, como se muestra en la siguiente tabla. Cuando es relevante, la tabla también muestra cualquier predicado equivalente.
Tabla 1. ENTRE los predicados y sus condiciones de búsqueda equivalentes
Predicado Predicado equivalente Condición de búsqueda equivalente
columna ENTRE value1 Y value2 Ninguno (columna >= value1 Y columna <= value2 )
columna NO ENTRE value1 Y value2 NOT(columna ENTRE value1 Y value2 ) (columna < value1 O columna > value2 )
Nota : Los valores pueden ser constantes o expresiones de duración etiquetadas.

Por ejemplo, el siguiente predicado es verdadero para cualquier fila cuando el salario es mayor o igual a 10 000 y menor o igual a 20 000:

SALARY BETWEEN 10000 AND 20000
EN predicado
Especifica que un valor debe compararse con un conjunto de valores. En el predicado IN, el segundo operando es un conjunto de uno o más valores que se especifican mediante constantes. Cada una de las dos formas del predicado (IN y NOT IN) tiene una condición de búsqueda equivalente, como se muestra en la siguiente tabla.
Tabla 2. IN predicados y sus condiciones de búsqueda equivalentes
Predicado Condición de búsqueda equivalente
value1 IN ( value1, value2,..., valuen ) ( value1 = value2 O. O value1 = valor n )
value1 NO EN ( value1, value2..., valuen ) value1 ¬= value2 Y. Y value1 ¬= valor )
Nota : Los valores pueden ser constantes.
Por ejemplo, el siguiente predicado es verdadero para cualquier fila cuyo empleado esté en el departamento D11, B01 o C01:
WORKDEPT IN ('D11', 'B01', 'C01')
Predicado LIKE
Especifica la calificación de cadenas que tienen un patrón determinado.

Dentro del patrón, un signo de porcentaje o un guión bajo pueden tener un significado especial, o pueden representar la aparición literal de un signo de porcentaje o un guión bajo. Para que tenga su significado literal, debe ir precedido de un carácter de escape. Si no va precedido de un carácter de escape, tiene su significado especial. El carácter de subrayado (_) representa un carácter único y arbitrario. El signo de porcentaje (%) representa una cadena de cero o más caracteres arbitrarios.

La cláusula de EXENCIÓN designa a un solo personaje. Ese carácter, y solo ese carácter, puede utilizarse varias veces dentro del patrón como carácter de escape. Cuando se omite la cláusula ESCAPE, ningún carácter sirve como carácter de escape, de modo que los signos de porcentaje y los guiones bajos en el patrón siempre tienen sus significados especiales.

Las siguientes reglas se aplican al uso de la cláusula de EXENCIÓN:

  • La cláusula ESCAPE no puede utilizarse si x son datos mixtos.
  • Si x es una cadena de caracteres, el tipo de datos de la constante de cadena debe ser cadena de caracteres. Si x es una cadena gráfica, el tipo de datos de la constante de cadena debe ser cadena gráfica. En ambos casos, la longitud de la constante de cadena debe ser 1.
  • El patrón no debe contener el carácter de escape, excepto cuando vaya seguido del carácter de escape « %' o r '_'. Por ejemplo, si «+» es el carácter de escape, cualquier aparición de «+» que no sea «++», «+_» o «+ %' i n el patrón es un error.

Cuando el patrón no incluye caracteres de escape, una descripción simple de su significado es:

  • El signo de subrayado (_) representa un único carácter arbitrario.
  • El signo de porcentaje (%) representa una cadena de cero o más caracteres arbitrarios.
  • Cualquier otro carácter representa una aparición individual del propio carácter.

Sea x la columna que se va a probar y y el patrón en la constante de cadena. Las siguientes reglas se aplican a los predicados de la forma "x LIKE y...". Si se especifica NOT, el resultado se invierte.

  • Cuando x e y no están ni vacíos ni nulos, el resultado del predicado es verdadero si x coincide con el patrón en y y falso si x no coincide con el patrón en y.
  • Cuando x o y son nulos, el resultado del predicado es desconocido.
  • Cuando y está vacío y x no está vacío, el resultado del predicado es falso.
  • Cuando x está vacío y y no está vacío, el resultado del predicado es falso a menos que y consista solo en uno o más signos de porcentaje.
  • Cuando x e y están vacíos, el resultado del predicado es verdadero.

La cadena de patrón y la cadena que se va a probar deben ser del mismo tipo. Es decir, tanto x como y deben ser cadenas de caracteres, o tanto x como y deben ser cadenas gráficas. Cuando x e y son cadenas gráficas, un carácter es un carácter DBCS. Cuando x e y son cadenas de caracteres y x no son datos mixtos, un carácter es un carácter SBCS e y se interpreta como datos SBCS independientemente de su subtipo.

Cordones y patrones

La cadena y se interpreta como una secuencia del número mínimo de especificadores de subcadenas de modo que cada carácter de y forma parte de exactamente un especificador de subcadena. Un especificador de subcadena es un guión bajo, un signo de porcentaje o cualquier secuencia de caracteres no vacía que no sea un guión bajo o un signo de porcentaje.

La cadena x coincide con el patrón y si existe una partición de x en subcadenas, de modo que:

  • Una subcadena de x es una secuencia de cero o más caracteres contiguos, y cada carácter de x forma parte de exactamente una subcadena.
  • Si el enésimo especificador de subcadena es un guión bajo, la enésima subcadena de x es cualquier carácter individual.
  • Si el enésimo especificador de subcadena es un signo de porcentaje, la enésima subcadena de x es cualquier secuencia de cero o más caracteres.
  • Si el enésimo especificador de subcadena no es ni un guión bajo ni un signo de porcentaje, la enésima subcadena de x es igual a ese especificador de subcadena y tiene la misma longitud que ese especificador de subcadena.
  • El número de subcadenas de x es el mismo que el número de especificadores de subcadenas.

Cuando hay caracteres de escape en la cadena de patrón, un guión bajo, un signo de porcentaje o un carácter de escape representa una sola aparición de sí mismo si y solo si va precedido de un número impar de caracteres de escape sucesivos.

La forma en que se empareja un patrón para evaluar el predicado LIKE depende de si los espacios en blanco al final de las cadenas de longitud fija son significativos o si se ignoran. Cuando el parámetro del subsistema LIKE_BLANK_INSIGNIFICANT está habilitado, el predicado LIKE puede producir resultados diferentes.

Patrones de datos mixtos : Si x son datos mixtos, se asume que el patrón es de datos mixtos y sus caracteres especiales se interpretan de la siguiente manera:

  • Un guión bajo de un solo byte se refiere a un carácter de un solo byte; un guión bajo de doble byte se refiere a un carácter de doble byte.
  • Un signo de porcentaje, ya sea de un byte o de dos bytes, se refiere a cualquier número de caracteres de cualquier tipo, ya sea de un byte o de dos bytes.
  • Los bytes de desplazamiento redundantes en x o y se ignoran.
Información relacionada:
Predicado NULL
Especifica una prueba para valores nulos.

Si el valor de la columna es nulo, el resultado es verdadero. Si el valor no es nulo, el resultado es falso. Si se especifica NOT, el resultado se invierte. (Es decir, si el valor es nulo, el resultado es falso, y si el valor no es nulo, el resultado es verdadero)

expresión de duración etiquetada
Especifica una expresión que comienza con el registro especial CURRENT DATE o el registro especial CURRENT TIMESTAMP (los formularios CURRENT_DATE y CURRENT_TIMESTAMP también son aceptables). Para la FECHA Y HORA ACTUAL, si la comparación es con una columna de fecha y hora, la precisión de la fecha y hora del registro especial será la misma que la precisión de la fecha y hora de la columna. De lo contrario, se utilizará la precisión de marca de tiempo predeterminada. Este registro especial puede ir seguido de operaciones aritméticas de suma o resta. Estas operaciones se expresan mediante números seguidos de una de las siete palabras clave de duración: AÑOS, MESES, DÍAS, HORAS, MINUTOS, SEGUNDOS o MICROSEGUNDOS. (También se acepta la forma singular de estas palabras clave: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND y MICROSECOND.)

Las utilidades siempre evalúan una expresión de duración etiquetada como una marca de tiempo y la convierten implícitamente en una fecha si la comparación es con una columna de fecha.

Incrementing and decrementing CURRENT DATE: El resultado de sumar una duración a una fecha, o de restar una duración de una fecha, es en sí mismo una fecha. (En esta operación, un mes equivale a una página de un calendario. La adición de meses a una fecha es como ir pasando páginas a un calendario, empezando por la página en la que aparece la fecha.) El resultado debe estar comprendido entre las fechas 1 de enero de 0001 y 31 de diciembre de 9999, ambos inclusive. Si se suma o resta una duración de años, solamente la parte de la fecha correspondiente a los años se verá afectada. El mes no cambia, al igual que el día, a menos que el resultado sea el 29 de febrero de un año no bisiesto. En esta situación, la parte del día del resultado se establece en 28.

Del mismo modo, si se suma o resta una duración de meses, solamente los meses, y los años si fuera necesario, se verán afectados. La parte de una fecha correspondiente a los años no se cambia a no ser que el resultado no fuera válido (31 de setiembre, por ejemplo). En este caso, el día se establece como el último día del mes.

Añadir o restar una duración de días afecta a la parte del día de la fecha y, potencialmente, al mes y al año.

Las duraciones de las fechas, ya sean positivas o negativas, también pueden sumarse y restarse de las fechas. Al igual que con las duraciones etiquetadas, el resultado es una fecha válida.

Cuando se añade una duración de fecha positiva a una fecha, o se resta una duración de fecha negativa de una fecha, la fecha se incrementa en el número especificado de años, meses y días.

Cuando se resta una duración de fecha positiva de una fecha, o se añade una duración de fecha negativa a una fecha, la fecha se reduce en el número especificado de días, meses y años.

Si se añade un mes a una fecha, se obtiene el mismo día un mes después, a menos que ese día no exista en el mes posterior. En ese caso, el día del resultado se establece como el último día del mes posterior. Por ejemplo, el 28 de enero más un mes da como resultado el 28 de febrero; un mes añadido al 29, 30 o 31 de enero da como resultado el 28 de febrero o, en caso de año bisiesto, el 29 de febrero. Si se añade uno o más meses a una fecha determinada y del resultado se resta la misma cantidad de meses, la fecha final no tiene por qué ser necesariamente la misma que la original.

El orden en el que se suman y restan las duraciones de las fechas etiquetadas puede afectar a los resultados. Cuando añada duraciones de fechas etiquetadas a una fecha, especifíquelas en el orden AÑOS + MESES + DÍAS. Cuando restes duraciones de fechas etiquetadas de una fecha, especifícalas en el orden DÍAS - MESES - AÑOS. Por ejemplo, para añadir un año y un día a una fecha, especifique el siguiente código:

Cuando la expresión de duración etiquetada comienza con el registro especial CURRENT TIMESTAMP, CURRENT TIMESTAMP se compara con la columna de zona horaria. La precisión de la marca de tiempo del registro especial será la misma que la precisión de la marca de tiempo de la columna. De lo contrario, se utilizará la precisión de marca de tiempo predeterminada. La zona horaria de CURRENT TIMESTAMP es el valor del registro especial CURRENT TIMEZONE. La comparación se realiza comparando la parte UTC.

CURRENT DATE + 1 YEAR + 1 DAY

Para restar un año, un mes y un día de una fecha, especifique el siguiente código:

CURRENT DATE - 1 DAY - 1 MONTH - 1 YEAR

Incrementar y disminuir marcas de tiempo : El resultado de sumar una duración a una marca de tiempo, o de restar una duración de una marca de tiempo, es en sí mismo una marca de tiempo. La aritmética de fecha y hora se realiza como se ha definido anteriormente, excepto que un desbordamiento o desbordamiento por defecto de horas se lleva a la parte de fecha del resultado, que debe estar dentro del rango de fechas válidas.