Sentencia SQL

Las zonas del explorador de datos se utilizan para seleccionar los datos que se mostrarán mediante una o más sentencias SQL. Los parámetros SQL son aplicables a los tipos de zonas siguientes

  • Explorador de datos de información - Un SQL (F1-DE-SINGLE). El parámetro tiene la descripción de sentencia SQL.

  • Explorador de datos de información - Varios SQL (F1-DE). Los parámetros siguen el patrón de descripción de sentencia SQL x.

  • Explorador de datos de consulta - Varios SQL (F1-DE-QUERY). Los parámetros siguen el patrón de descripción de sentencia SQL x.

Nota: si se ha configurado la implantación para restringir las funciones que se pueden utilizar al definir un SQL, se emitirá un error en tiempo de ejecución cuando las funciones localizadas no se incluyan en la lista de permitidos. Puede consultar esta lista en el enlace Ver lista de permitidos de función SQL de la zona de consejos de la página de mantenimiento de la zona.
Nota: el SQL de zona no debe usar las siguientes palabras clave reservadas para el alias de tabla. (Por ejemplo, el alias de tabla en este SQL es 'XX': SELECT 'X' FROM W1_​ACTIVITY_​TYPE XX.)
Palabra clave
AT

En la siguiente tabla se incluye una lista de las palabras clave de sustitución de SQL que se pueden utilizar en los parámetros de la sentencia SQL en las zonas del explorador. En el momento de la ejecución, el sistema determina la base de datos y sustituye la palabra clave con la sintaxis específica de la base de datos.

Palabra clave

Descripción

Ejemplos

@toCharacter()

Convierte la entrada en un tipo de datos de carácter.

select @toCharacter(batch_​cd) as batchCode from ci_​batch_​ctrl

@toDate()

Convierte la entrada en un tipo de datos de fecha.

select @toDate(last_​update_​dttm) as lastUpdateDate from ci_​batch_​ctrl

@toNumber()

Convierte la entrada en un tipo de datos de número.

select @toNumber(next_​batch_​nbr) from ci_​batch_​ctrl

@currentDate

Recupera la fecha actual.

PRECAUCIÓN: las funciones de Oracle SYSDATE y CURRENT_​DATE no se pueden utilizar porque no permiten realizar de forma adecuada el ajuste de las fechas de la zona horaria de la base de datos a la zona horaria de la instalación en caso necesario.

select batch_​cd, @currentDate as today from ci_​batch_​ctrl

@currentTimestamp

Recupera la fecha/hora actual.

PRECAUCIÓN: las funciones de Oracle SYSTIMESTAMP y CURRENT_​TIMESTAMP no se pueden utilizar porque no permiten realizar de forma adecuada el ajuste de la fecha y hora de la zona horaria de la base de datos a la zona horaria de la instalación en caso necesario.

select batch_​cd from ci_​batch_​ctrl where last_​update_​dttm > @currentTimestamp

@concat

Combina la lista de resultados de dos o más columnas.

select batch_​cd @concat next_​batch_​nbr concatNbr from ci_​batch_​ctrl

@substr(string, start)

String corresponde a la cadena de entrada de la que se intenta obtener la subcadena.

Start es la posición del carácter para los resultados de salida.

select batch_​cd batchCode from ci_​batch_​ctrl

Resultado: TESTCD

select @substr(batch_​cd,3) batchCode from ci_​batch_​ctrl

Resultado: STCD

@substr(string, start, end)

String corresponde a la cadena de entrada de la que se intenta obtener la subcadena.

Start es la posición del carácter para los resultados de salida.

End es el número de caracteres necesario en la salida desde la posición inicial.

Select batch_​cd batchCode from ci_​batch_​ctrl

Resultado: TESTCD

select @substr(batch_​cd,3,2) batchCode from ci_​batch_​ctrl

Resultado: ST

@trim

Recorta los espacios en blanco de la salida a ambos lados.

select @trim(batch_​cd) as batchCode from ci_​batch_​ctrl

La siguiente sintaxis está relacionada con la búsqueda 'aproximada'. Solo es aplicable si el texto de la base de datos de Oracle está activado y se ha creado el índice de texto de contexto. Consulte Opciones de búsqueda avanzada para obtener más información.

@fuzzy(string, score, numresult, ‘weight’)

String corresponde al valor de entrada de la búsqueda.

Score es el grado de ‘aproximación’. Los valores válidos están entre 1 - 80. Cuando más alto sea el número, mayor será la precisión de la búsqueda. El valor por defecto es 60.

Numresults es el número de variaciones que se tendrá en cuenta para la cadena. Los valores válidos están entre 1 y 5000. El valor por defecto es 100.

Si se indica ‘weight’, se señalará que los resultados se devuelven en orden de peso. Deberá dejarse desactivado para indicar que los resultados se devuelven según el orden de puntuación.

Se define la puntuación como 70, el número de resultados como 6 y se especifica el peso.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6, 'weight')) > 0

@fuzzy(string)

Devuelve un resultado de cadena a partir de la operación de ampliación aproximada, donde se asume para score un valor por defecto de 60 y para numresult un valor por defecto de 100.

Para utilizar los valores por defecto:

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1))> 0

@fuzzy(string, score)

Devuelve un resultado de cadena a partir de la operación de ampliación aproximada, con un valor especificado de score y el valor por defecto 100 para numresult.

Se define la puntuación como 70.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70)) > 0

@fuzzy(string, score, numresult)

Devuelve un resultado de cadena a partir de la operación de ampliación aproximada, especificando valores para la puntuación de similitud y para numresults.

Se define la puntuación como 70 y el número de resultados como 6.

select user_​id, last_​name from sc_​user where contains(last_​name, @fuzzy(:F1,70, 6)) > 0