Mysql
 sql >> Base de données >  >> RDS >> Mysql

Extraction de texte entre sous-chaînes dans MySQL

En supposant que ce sont vos données avec l'allemand toujours avant l'anglais, alors :

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

Si ce n'est pas le cas, vous pouvez tester différentes possibilités :

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)