Найти первый экземпляр пространства в строке - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь вернуть первое «слово» в строке, найдя первый экземпляр пробела «» в строковом поле Part_Comment.Примеры строк в поле Part_Comment:

13088V21 () (FAB)
G16707 (FOLD) ()
16636U01.01

Я пробовал:

substring(Part_Comment from 1 for position(' ' in Part_Comment)-2) as "AssyNo",

, что приводит к ошибке «Неверный синтаксис рядом с ключевым словом« from ».»Но он работает нормально, когда я просто использую Part_Comment сам по себе.

substring(Part_Comment from 1) as "AssyNo",

Та же ошибка, что и выше

left(Part_Comment,10) as "AssyNo",

Это работает, но мне нужно использовать функцию position или что-то ещенайти подстроку.Но, очевидно, функция position возвращает 0, когда происходит более одного экземпляра.

Я полагаю, что это довольно распространенная вещь, которую хотят пользователи, поэтому должно быть простое решение.

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете сделать это с помощью ВЛЕВО и ПОЗИЦИЯ, например, так:

LEFT(Part_Comment, POSITION(' ' in Part_Comment)-1))

РЕДАКТИРОВАТЬ

как @Arioch 'В комментарии предлагается, безопасность должна быть реализована

  CASE POSITION(' ' in Part_Comment)
    WHEN 0 THEN 'Part_Comment'
    ELSE LEFT(Part_Comment, POSITION(' ' in Part_Comment)-1)
  END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...