Você tem um campo string onde guarda o nome completo e precisa escrever uma consulta que traga apenas o primeiro nome.

Eu cheguei ao resultado abaixo, não conseguindo uma consulta que funcionasse ao mesmo tempo com Firebird e SQL Server.

Firebird

SELECT IIF(POSITION(‘ ‘ IN NOME_COMPLETO) > 0, SUBSTRING(NOME_COMPLETO FROM 1 FOR POSITION(‘ ‘ IN NOME_COMPLETO) – 1), NOME_COMPLETO) FROM TABELA

SQL Server

SELECT CASE WHEN CHARINDEX(' ', NOME_COMPLETO) > 0 THEN SUBSTRING(NOME_COMPLETO, 1, CHARINDEX(' ', NOME_COMPLETO) - 1) ELSE NOME_COMPLETO END FROM TABELA

Qualquer idéia melhor é bem-vinda.

UPDATE: Baseado no feedback recebido, refatorei a consulta, veja aqui a versão 2.