如何从SQL中的字符串中提取某些第n个字符

时间:2014-04-29 12:55:01

标签: sql sql-server sql-server-2008

我有一个字段,返回值为xxx-xxx-xxx-xxxxx-xx-x。如何从该代码中提取第10个字符。

4 个答案:

答案 0 :(得分:16)

select substring('xxx-xxx-xxx-xxxxx-xx-x', 10, 1)

MSDN上的功能文档是 here

SQL小提琴演示是 here (使用不同的字母,以便您可以清楚地看到提取的字母)。

答案 1 :(得分:3)

使用substring功能

选择子串('xxx-xxx-xax-xxxxx-xx-x',10,1)

答案 2 :(得分:1)

您可以使用SUBSTRING,在您的情况下使用...

SELECT SUBSTRING(field, 10, 1) 

字段是返回值的字段。

答案 3 :(得分:0)

declare @x varchar(20) = 'xxx-xxx-xxx-xxxxx-xx-x'

select SUBSTRING(@x,10,CHARINDEX('-',@x)-4 )