SQL 服务器:提取特定字符前的所有内容
SQL Server : Extracting Everything Before a Certain Character
我有这个:
21654-8012
1234-127834
12345-1222
我想提取这个:
21654
1234
12345
基本上,连字符 -
字符之前的所有内容。有人对从哪里开始有任何建议吗?
将left
与charindex()
一起使用:
select t.col, left(col, charindex('-', col)-1)
from table t;
您可以使用 CHARINDEX 函数
DECLARE @text VARCHAR(20)
SET @text = '123456-0000'
SELECT SUBSTRING(@text, 0, CHARINDEX('-', @text))
您可以使用您的字段名称代替@text
SELECT SUBSTRING(YOUR_COLUMN_NAME, 0, CHARINDEX('-', YOUR_COLUMN_NAME)) FROM YOUR_TABLE_NAME
我有这个:
21654-8012
1234-127834
12345-1222
我想提取这个:
21654
1234
12345
基本上,连字符 -
字符之前的所有内容。有人对从哪里开始有任何建议吗?
将left
与charindex()
一起使用:
select t.col, left(col, charindex('-', col)-1)
from table t;
您可以使用 CHARINDEX 函数
DECLARE @text VARCHAR(20)
SET @text = '123456-0000'
SELECT SUBSTRING(@text, 0, CHARINDEX('-', @text))
您可以使用您的字段名称代替@text
SELECT SUBSTRING(YOUR_COLUMN_NAME, 0, CHARINDEX('-', YOUR_COLUMN_NAME)) FROM YOUR_TABLE_NAME