我有一个表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
最简单的方法是为'-'
添加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;