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