SQL: получение подстроки перед символом тире.От «ABC-123» до просто «ABC» - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть таблица CARM с полями (столбцами) ID и AREA_DESC.

В поле AREA_DESC у меня есть некоторые значения, которые отображаются следующим образом:

AREA_DESC
--------------
Felisberto-001
Ana
Mark-02
Maria
--------------

Что бы я хотелсделать, это отобразить эти значения следующим образом:

AREA_DESC
--------------
Felisberto
Ana
Mark
Maria
--------------

Как вы могли заметить, я хотел бы отображать только строку до тире - только.Другими словами, я хотел бы сбросить тире - и цифры после тире -

Это запрос, который я пробовал до сих пор:

SELECT ID, AREA_DESC ,SUBSTRING(AREA_DESC,0,CHARINDEX('-', AREA_DESC)) as area 
FROM CARM

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Самый простой способ - добавить '-' для charindex():

SELECT ID, AREA_DESC,
       LEFT(AREA_DESC, CHARINDEX('-', AREA_DESC + '-')) as area
FROM CARM;

Обратите внимание, что при этом также используется LEFT(), он сохраняет аргумент в строковой операции.

0 голосов
/ 24 апреля 2019

Вместо этого вы можете использовать left() с добавлением '-' в конце строки:

select ID, AREA_DESC, left(AREA_DESC, charindex('-', AREA_DESC + '-'))
from CARM;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...