В MySQL, например, есть две функции, которые могут помочь:
— INSTR — возвращает первую позицию подстроки в строке.
— LEFT — обрезает текст с начала до указанной позиции.
Поэтому можно сделать так (-1 нужен, чтобы в результат не включать пробел):
SET @str = 'Некоторая строка с пробелами';
SELECT LEFT(@str, INSTR(@str, ' ') - 1);
Но, если в строке нет пробелов, то вернется строка с нулевой длиной. Для этого можно добавить условие, и если нет пробелов в строке — возвращать исходную строку.
SET @str = 'Некоторая_строка_без_пробелов';
SELECT IF(
INSTR(@str, ' ') = 0,
@str,
LEFT(@str, INSTR(@str, ' ') - 1)
);
P.S.: Но, если Вам это нужно не для составления сложных вложенных запросов, то лучше такую обработку перенести на клиентский код.