Menu
Coddy logo textTech

INSTR

Parte de la sección Más allá de lo básico del Journey de SQL de Coddy — lección 8 de 27.

INSTR(haystack, needle) devuelve la posición (basada en 1) de needle en haystack, o 0 si no se encuentra allí.

INSTR('alice@example.com', '@')   -- 6
INSTR('hello', 'z')               -- 0

Combinado con SUBSTR es como se divide una cadena por un separador. Para extraer la parte anterior al @ en un correo electrónico:

SUBSTR(email, 1, INSTR(email, '@') - 1)

Estás diciendo: toma el correo electrónico, empezando desde la posición 1, por tantos caracteres como haya antes del @.

challenge icon

Desafío

Fácil

Tablas y columnas disponibles:

  • <strong>signups</strong>: <strong>id</strong>, <strong>email</strong>

Devuelve id y el dominio de cada correo electrónico (todo lo que esté después de @) como domain. Asume que cada correo electrónico contiene exactamente un @. Ordena por id.

Hoja de referencia

INSTR(haystack, needle) devuelve la posición (basada en 1) de needle en haystack, o 0 si no se encuentra:

INSTR('alice@example.com', '@')   -- 6
INSTR('hello', 'z')               -- 0

Úselo con SUBSTR para dividir una cadena por un separador:

-- Parte antes de '@'
SUBSTR(email, 1, INSTR(email, '@') - 1)

-- Parte después de '@'
SUBSTR(email, INSTR(email, '@') + 1)

Pruébalo tú mismo

SELECT id,
       -- todo después de la '@'
FROM signups
ORDER BY id
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Más allá de lo básico