Use split_part()
:
SELECT split_part('first:last', ':', 1) AS first_part
Devuelve la cadena completa si el delimitador no está allí. Y es fácil obtener la segunda o tercera parte, etc.
Sustancialmente más rápido que las funciones que utilizan la coincidencia de expresiones regulares. Y dado que tenemos un delimitador fijo, no necesitamos la magia de las expresiones regulares.
Relacionado: