Я хотел бы получить все символы в поле перед пробелом
Например, если field1 - "chara ters"
Я хочу, чтобы он возвращал "chara"
Как выглядит этот оператор выбора?
Ответ 1
SELECT LEFT(field1,LOCATE(' ',field1) - 1)
Обратите внимание, что если указанная строка не содержит пробелов, это возвращает пустую строку.
Ответ 2
Ниже приведен другой метод, который работает и может казаться немного более простым для некоторых. Он использует функцию SUBSTRING_INDEX MySQL. A 1 возвращает все перед первым пространством, а -1 возвращает все после последнего пробела.
Это возвращает 'chara':
SELECT SUBSTRING_INDEX( field1, ' ', 1 )
Это возвращает 'ters':
SELECT SUBSTRING_INDEX( field1, ' ', -1 )
Подробнее
Положительное значение будет искать ваш указанный символ с начала строки, а отрицательное значение будет начинаться с конца строки. Значение номера указывает количество вашего указанного символа для поиска, прежде чем возвращать оставшуюся часть строки. Если символ, который вы ищете, не существует, возвращается все значение поля.
В этом случае a -2 вернет все справа от второго к последнему пробелу, которое не существует в этом примере, поэтому будет возвращено все значение поля.
Ответ 3
Для этого вам понадобится строковые операции. Предполагая, что каждое поле имеет хотя бы один пробельный символ:
SELECT SUBSTR(field1, 0, LOCATE(' ', field1)) FROM your_table;