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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23365267/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 01:47:01  来源:igfitidea点击:

How to extract Certain nth character from a string in SQL

sqlsql-serversql-server-2008

提问by user3383390

I have a field that returns the value as xxx-xxx-xxx-xxxxx-xx-x. How do i extract the 10th character from that code.

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

回答by Joseph B

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

The documentation for the function on MSDN is here.

MSDN 上该函数的文档是here.

The SQL Fiddle demo is here(with different letters so you can clearly see which letter is extracted).

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

回答by G one

Use substringfunction

使用substring功能

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

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

回答by christiandev

you can use SUBSTRING, in your case use...

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

SELECT SUBSTRING(field, 10, 1) 

fieldbeing the one that returns the value.

字段是返回值的字段

回答by mohan111

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

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