sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗相关的知识,希望对你有一定的参考价值。

我想选出前200行的电影,并且首字母升序排列而且需要 电影描述中,是发生地在boat的,发生地总是出现在description中并且是在in 后边,其实就是筛选出description 句子里in后边的东西,然后判断存不存在boat这个单词。
用的是oracle

工具/材料:Management Studio。 

1、首先在桌面上,点击“Management Studio”图标。 

2、之后在该界面中,点击左上角“新建查询”选项。 

3、接着在该界面中,输入截取指定字段某一个字符出现后的后面的字符串的sql语句“

select substring(name,charindex(',',name)+1,len(name)-charindex(',',name)) from test2;”。 

4、然后在该界面中,点击左上方“执行”按钮。 

5、最后在该界面中,显示截取指定字段某一个字符出现后的后面的字符串成功。

参考技术A 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 的表达式,指定子字符串的长度

如何写sql 语句,能删除字段中某个字符到最后字符串的?

sqlserver的话用charindex截取到你要的字符位置,用left函数截取,后面的自然就没了
left(col,charindex('字符',col)-1)
-----------------
删除指定字符到指定的其他字符,要用stuff函数
stuff(col,charindex('字符',col),charindex('其他字符',col)-charindex('字符',col)+1,'')
不知道你包含不包含这两个字符,上面的语句是同时去除两个字符的,若不去除
stuff(col,charindex('字符',col)+,charindex('其他字符',col)-charindex('字符',col)-1,'')
参考技术A 你是什么数据库?mysql
按照第一个*号前面的字符串分组
然后汇总
select
a,sum(b)
from
pppppp.tablename1
group
by
substring_index(a,'*',1)
limit
0,
50
按照第二个*前面的字符串分组
然后汇总
select
a,sum(b)
from
pppppp.tablename1
group
by
substring_index(a,'*',2)
limit
0,
50
参考技术B declare@avarchar(50)
set@a='2009年7月15日星期五'
selectsubstring(@a,1,4)
--获取年份2009
declare@bint
set@b=patindex('%日%',@a)
--获取'日'这个字符在字符串中的位置,即10
selectsubstring(@a,6,@b-5)
--获取日期'7月15日'

以上是关于sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗的主要内容,如果未能解决你的问题,请参考以下文章

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

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

oracle中 sql截取某个字符前面和后面的值

急!急!急!急!!!SQL里面的字符怎么用一条SQL语句将逗号后面的字符串得到?

oracle 用SQl语句截取最后一个“\”后面的内容

如何写sql 语句,能删除字段中某个字符到最后字符串的?