我有一个带有字段(列(ID和AREA_DESC的表ARM。
在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
最简单的方法是为charindex()
添加一个'-'
:
SELECT ID, AREA_DESC,
LEFT(AREA_DESC, CHARINDEX('-', AREA_DESC + '-')) as area
FROM CARM;
请注意,这也使用LEFT()
它在字符串操作中保存参数。
您可以使用
left()
,并在字符串末尾添加'-'
:
select ID, AREA_DESC, left(AREA_DESC, charindex('-', AREA_DESC + '-'))
from CARM;