sql语句,能够截取指定字段后面的一个字符串吗?

如题所述

sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。
如test表中有如下数据,要求截图str字段中逗号后边的内容。
可用如下语句:
select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;结果截图:
charindex函数说明:
语法:
CHARINDEX
(
expression1
,
expression2
,
[
start_location
]
)
参数:
expression1
一个表达式,其中包含要寻找的字符的次序。expression1
是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location

expression2
中搜索
expression1
时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2
的起始位置开始搜索。
substring函数说明:
语法:
substring(
expression,
start,
length)
参数:
expression
字符串、二进制字符串、文本、图像、列或包含列的表达式
start
整数或可以隐式转换为
int
的表达式,指定子字符串的开始位置
length
整数或可以隐式转换为
int
的表达式,指定子字符串的长度
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-02-25
--这个查询需要注意的是qwer后的需要查询的字符串必须是一个空格,不能有的是一个空格有的是两个。也就是格式要固定。
--定义参数
create
table
#a
(string
varchar(max))
declare
@sql
varchar(max)
declare
@a
varchar(max)
select
@a
='asdf
qwer
zxcv
1234
qwer
yuchor
3452
qwer
abcd
7893'--这个是要查询的字符串
---------------------------查询qwer后面的字符串----------------------------------------
while
charindex('qwer',@a)<>0
begin
select
@a=SUBSTRING
(
@a,charindex('qwer',@a)+5,LEN(@a)-charindex('qwer',@a)-4)
insert
into
#a
values
(@a)
end
select
SUBSTRING
(LTRIM
(
string)
,1,charindex('
',LTRIM
(
string)))
as
result
from
#a
--查询结果
result
zxcv
yuchor
abcd
第2个回答  2020-03-09
CHARINDEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX
(
expression1
,
expression2
[
,
start_location
]
)
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1
是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location

expression2
中搜索
expression1
时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2
的起始位置开始搜索。
例如:SELECT
CHARINDEX(
'you
',
'I
love
you
')
你利用一下就能实现。至于多个可以循环截取字符串。

sql语句,能够截取指定字段后面的一个字符串吗?
可以的,需要用到charindex函数和substring函数。CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。substring public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。

sql语句,能够截取指定字段后面的一个字符串吗?
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。如test表中有如下数据,要求截图str字段中逗号后边的内容。可用如下语句:select id,substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;结果截图:charindex函数说明:语法:CHARIN...

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗
sql语句可以截取指定字段后面的字符串,以sqlserver为例,需要用到charindex函数和substring函数。如test表中有如下数据,要求截图str字段中逗号后边的内容。

sql语句,可以截取指定字段后面的一个字符串吗?
--这个查询需要注意的是qwer后的需要查询的字符串必须是一个空格,不能有的是一个空格有的是两个。也就是格式要固定。--定义参数 create table #a (string varchar(max))declare @sql varchar(max)declare @a varchar(max)select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'-...

如何通过SQL截取指定字段某一个字符的前面或后面的字符串?
针对SQL Server的实现:当需截取字符串"OPE-CZ-108-003-SE71.2"中的"."字符前面的字符串时,可以采用如下SQL语句。结果为"OPE-CZ-108-003-SE71",取值范围从字段第一位置开始,至"."字符前一个位置结束。对于截取"."字符后面的字符串,同样使用SQL Server,只需调整SQL语句,从"."字符后一位...

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗
1、首先在桌面上,点击“Management Studio”图标。2、之后在该界面中,点击左上角“新建查询”选项。3、接着在该界面中,输入截取指定字段某一个字符出现后的后面的字符串的sql语句“select substring(name,charindex(',',name)+1,len(name)-charindex(',',name)) from test2;”。4、然后在该界面...

...SQL里面的字符怎么用一条SQL语句将逗号后面的字符串得到?_百度...
select right("字段名称",len("字段名称")-charindex(',',"字段名称")) from xpdd 是这样做的!给分吧!!!

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗
用substring和charindex 如test表中如下数据:现在要查询“\/”后的数据内容,用如下语句:select SUBSTRING(val,CHARINDEX('\/',val)+1,LEN(val)-CHARINDEX('\/',val)) from test结果:

sql语句如何截取某字段的一部分
在sql中,可以使用SUBSTRING语句截取某字段的一部分,语法格式为“SUBSTRING(字符串,开始位置,截取长度)”。SQL中的substring函数是用来抓出一个栏位资料中的其中一部分 本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。SUBSTRING ( expression, start, length )参数 expression 字符串、二进制字符...

sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗
select right(a,len(a) - CHARINDEX('@',a,1)) from aaa;这个是检索字段a中 "@"字符后面的字符串,如果没有"@"显示全部。

相似回答