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

use*_*390 7 sql sql-server sql-server-2008

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

Jos*_*h B 19

select substring('xxx-xxx-xxx-xxxxx-xx-x', 10, 1)
Run Code Online (Sandbox Code Playgroud)

MSDN上的功能文档是here.

SQL Fiddle演示是here(使用不同的字母,因此您可以清楚地看到提取的字母).


G o*_*one 6

使用substring功能

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


chr*_*dev 5

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

SELECT SUBSTRING(field, 10, 1) 
Run Code Online (Sandbox Code Playgroud)

字段是返回值的字段。