① sql中截取字符串中间数据
select
substring(字段名,charindex('-',字段名,0)+1,len(字段名)-charindex('-',reverse(字段名),0)-charindex('-',字段名,0))
from
表名
substring是截取函数
charindex是算特定符号位置的函数
reverse是把字符串排反序的函数
了解一下这三个函数吧,这句你就应该懂了,我这句刚才试验了一下,没问题,环境sqlserver2000
请采纳。
② sql server 取两个字符之间的字符
摘要 上面的回答是在清楚两个字符之间的字符个数和字符所在开始的位置的情况下的写法,如果是查找任意两个字符间(开始字符和终止字符)的字符串的话应该是这样写:select substring(待查找字段,charindex('开始字符',待查找字段)+1,charindex('终止字符',待查找字段)-charindex('终止字符',待查找字段)-1) from 表 where 条件 以上是sqlserver中的写法。
③ 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'--这个是要查询的字符串
---------------------------查询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
④ SQL 查询中如何取出中间指定的几位数
字段=“OM手册”
select substring(字段,3,2),* from 表
最后结果就是 “手册”
⑤ 求一个提取字段中间数字的SQL语句
改过了
把数取出:“第”和“节”两个字占4个字符
select
substring(chaptername,3,len(chaptername)-4)
from
chapter
如果更新到order字段:
update
chapter
set
order=convert(smallint,substring(chaptername,3,len(chaptername)-4))
⑥ 如何用SQL 语句截取两个固定字符之间的字符串
一、用到的函数:substring('
',
,
)、charindex('
','
')
select
SUBSTRING('[email protected]',1,charindex('@','[email protected]')-1)
1.substring(字符串表达式,开始位置,长度):
从一个指定字符串的指定位置截取制定长度的字符;
第一个参数表示被截取的字符串;
第二个参数表示要在第一个参数中开始截取的位置;
第三个参数表示要截取的长度。
例如:select
substring('abc123',1,2)
→返回ab
从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。
2.charindex(字符串表达式1,字符串表达式2[,整数表达式]):
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
例如:select
charindex('ab','BCabTabD')
→
返回3
select
charindex('ab','BCabTabD',4)
→返回6
二、用到的函数:left('
',
)、charindex('
','
')
select
LEFT('[email protected]',charindex('@','[email protected]')-1)
1.left(字符串表达式,整数表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select
left('abcdef',3)
→返回abc