我有一个这样的表A:
ID Col1
----------------------
1 xyz-abcccc
2 xyz-jkasdasd
3 abcds-asks
4 asdasdasda-as
我想要这样的输出:
ID Col1
-------------
1 abcccc
2 jkasdasd
3 asks
4 as
我想输出忽略短划线-
之前的任何内容。
谢谢
答案 0 :(得分:2)
charindex()
将是一个不错的起点。唯一的技巧是在dash
函数中添加charindex
作为故障保护,从而避免引发错误。
示例
Select ID
,Col1 = substring(Col1,charindex('-',col1+'-')+1,len(Col1))
from YourTable
返回
ID Col1
1 abcccc
2 jkasdasd
3 asks
4 as
答案 1 :(得分:0)
您也可以结合使用RIGHT
和CHARINDEX
函数。
查询
select [ID],
case when [Col1] like '%-%' then right([Col1], charindex('-', reverse([Col1]), 1) - 1)
else [Col1] end as [new_col1]
from [your_table_name];