sql >> Base de Datos >  >> RDS >> Mysql

Extraer texto entre subcadenas en MySQL

Asumiendo que estos son sus datos con el alemán siempre antes que el inglés, entonces:

select substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)

Si este no es el caso, puede probar diferentes posibilidades:

select (case when col like '%[:de]%[%:en]%'
             then substring_index(substring_index(col, '[:de]', -1), '[:en]', 1)
             when col like '%[:de]%[%:]%'
             then substring_index(substring_index(col, '[:de]', -1), '[:]', 1)
             else substring_index(col, '[:de]', -1)
       end)