Función POSITION

La función POSITION es una función de manipulación de series de caracteres que manipula todos los tipos de datos (BIT, BLOB y CHARACTER) y devuelve la posición de una serie de caracteres contenida en otra.

SINTAXIS

POSITION devuelve un entero que proporciona la posición de una serie de caracteres (ExpresiónBúsqueda) en una segunda serie de caracteres(ExpresiónOrigen). Una posición de uno corresponde al primer carácter de la serie de caracteres de origen.

Si está presente, la cláusula FROM proporciona una posición en la serie de caracteres de búsqueda en la que comienza la misma. Si falta una cláusula FROM, la búsqueda se realiza desde el principio de la serie de caracteres de origen.

Si está presente, la cláusula REPEAT proporciona la cuenta de repeticiones y devuelve la posición correspondiente a la enésima repetición de la serie de búsqueda en la serie de caracteres de origen. Si la cuenta de repeticiones es negativa, se busca en la serie de caracteres de origen desde el final.

Si falta una cláusula REPEAT, se presupone una cuenta de repeticiones de +1, esto es, se devuelve la posición en que aparece por primera vez, comenzando a buscar desde el principio. Si la serie de caracteres de búsqueda tiene una longitud de cero, el resultado es uno.

Si la serie de caracteres de búsqueda no se encuentra, el resultado es cero: si está presente la cláusula FROM, esto se aplica solamente a la sección de la serie de caracteres de búsqueda que se está buscando. Si la cláusula REPEAT está presente esto sólo se aplica si el número en que aparece la serie de caracteres no es suficiente.

Si cualquier parámetro es NULL, el resultado es NULL.

Las series de caracteres de búsqueda y de origen puede ser de los tipos de datos CHARACTER, BLOB o BIT pero deben tener el mismo tipo.

Por ejemplo:
         POSITION('Village' IN 'Hursley Village');   returns 9
         POSITION('Town' IN 'Hursley Village');   returns 0 

         POSITION ('B' IN 'ABCABCABCABCABC'); -> returns 2
         POSITION ('D' IN 'ABCABCABCABCABC'); -> returns 0

         POSITION ('A' IN 'ABCABCABCABCABC' FROM 4); -> returns 4
         POSITION ('C' IN 'ABCABCABCABCABC' FROM 2); -> returns 3

         POSITION ('B' IN 'ABCABCABCABCABC' REPEAT 2); -> returns 5
         POSITION ('C' IN 'ABCABCABCABCABC' REPEAT 4); -> returns 12

         POSITION ('A' IN 'ABCABCABCABCABC' FROM 4 REPEAT 2); -> returns 7
         POSITION ('AB' IN 'ABCABCABCABCABC' FROM 2 REPEAT 3); -> returns 10

         POSITION ('A' IN 'ABCABCABCABCABC' REPEAT -2); -> returns 10
         POSITION ('BC' IN 'ABCABCABCABCABC' FROM 2 REPEAT -3); -> returns 5
Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
Seleccionar un subcampo de un campo mayor
Referencia relacionada
Diagramas de sintaxis: tipos disponibles
Funciones de manipulación de series de caracteres ESQL
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ak05240_