小编thi*_*rty的帖子

获取 SQL 中某个字符之前的所有内容

我的数据库中有以下条目:

E01234-1-1
E01234444-1-800000000
Run Code Online (Sandbox Code Playgroud)

我想修剪条目,所以我得到:

E01234-1
E01234444-1
Run Code Online (Sandbox Code Playgroud)

所以基本上,无论长度如何,我都希望在第二个“-”之前的所有内容

我该如何解决?我使用的是 MS SQL SERVER 2012

我正在使用它,但它只带来第一个连字符之前的数据,而不是第二个连字符

DECLARE @TABLE TABLE (STRING VARCHAR(100))

INSERT INTO @TABLE (STRING)
      SELECT 'E01234-1-1' 
UNION ALL SELECT 'E01234-1-200' 
UNION ALL SELECT 'E01234-1-3000' 
UNION ALL SELECT 'E01234-1-40000' 
UNION ALL SELECT 'E01234-1-500000' 
UNION ALL SELECT 'E01234-1-6000000' 
UNION ALL SELECT 'E01234-1-70000000' 
UNION ALL SELECT 'E01234444-1-800000000' 

SELECT LEFT(STRING, CHARINDEX('-',STRING)-1) STRIPPED_STRING from @TABLE
Run Code Online (Sandbox Code Playgroud)

退货 E01234 E01234 E01234 E01234 E01234 E01234 E01234 E01234444

sql t-sql sql-server

5
推荐指数
2
解决办法
4万
查看次数

标签 统计

sql ×1

sql-server ×1

t-sql ×1