如何删除SQL Server中某个字符之前的所有内容?

时间:2015-07-27 20:55:50

标签: sql sql-server

我已将数据输入我的SQL服务器。我想在连字符之前删除所有字符。在" - "。

之前有不同数量的字符

例如:

// in view, replace
{{sport.leagues.length}}

// with
{{ total(sport) }}

//in controller, add scope method
$scope.total = function(sport) {
    return _.sum(_.pluck(sport.leagues, 'offeringsAvailable'));
}

我想要这个结果:

ABC-123
AB-424
ABCD-53214

我是SQL Server的新手,真的需要帮助 提前谢谢。

2 个答案:

答案 0 :(得分:11)

试试这个:

right(MyColumn, len(MyColumn) - charindex('-', MyColumn))

Charindex找到连字符的位置,len找到整个字符串的长度,right返回字符串右边的指定字符数。

答案 1 :(得分:0)

可能是使用reverse和Char Index

执行此操作的另一种方式
DECLARE  @Table1 TABLE 
    (val varchar(10))
;

INSERT INTO @Table1
    (val)
VALUES
('ABC-123'),
    ('AB- 424'),
    ('ABCD-53214')
select reverse(substring(reverse(val),0,CHARINDEX('-',reverse(val)))) from @Table1