SQL语句如何截取字段中固定位置的值??

现在数据库中插入的数据格式是这样的:a|b|c|d|66|1212|wse|23w|asd|asd1|2|3|4|5每一条记录都是这样的格式,我现在想要得到第3个(结果为... 现在数据库中插入的数据格式是这样的:
a|b|c|d|66|12
12|wse|23w|asd|asd
1|2|3|4|5
每一条记录都是这样的格式,我现在想要得到第3个(结果为c,23w,3)如何在SQL中实现?
不能全部读出来再去分,因为我要用这个位置的数据成一个单独的字段。以这个字段来统计其它数据。
展开
 我来答
小镜子914
2018-04-05 · TA获得超过1.4万个赞
知道小有建树答主
回答量:21
采纳率:100%
帮助的人:7717
展开全部

SQL语句如何截取字段中固定位置的值有两种方法:

第一种:用到的函数:substring(' ', , )、charindex(' ',' ')

字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。

select SUBSTRING('hello@163.com',1,charindex('@','hello@163.com')-1)

第二种:elect id, substring(str,charindex(',',str)+1,len(str)-charindex(',',str)) from test;

如果中间间隔为-,则sql语句为select id, substring(str,charindex('-',str)+1,len(str)-charindex('-',str)) from test。

select SUBSTRING('hello@163.com',1,charindex('@','hello@163.com')-1)的意思:

substring(字符串表达式,开始位置,长度):

从一个指定字符串的指定位置截取制定长度的字符;

第一个参数表示被截取的字符串;

第二个参数表示要在第一个参数中开始截取的位置;

第三个参数表示要截取的长度。

例如:select substring('abc123',1,2) →返回ab

从字符串‘abc123’的第一个字符开始截取,共截取两个字符,最后得到‘ab’。

TableDI
2024-07-18 广告
作为上海悉息信息科技有限公司的一员,我们专注于提供高效的数据处理解决方案。对于多个文件表格的合并需求,我们通常采用专业的数据整合技术,确保数据的准确性和一致性。通过精确匹配表格字段和格式,我们能够快速、准确地将多个表格合并成一个,为用户提供... 点击进入详情页
本回答由TableDI提供
匿名用户
2016-07-04
展开全部
一、用到的函数:substring(' ', , )、charindex(' ',' ')
select SUBSTRING('hello@163.com',1,charindex('@','hello@163.com')-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('hello@163.com',charindex('@','hello@163.com')-1)
1.left(字符串表达式,整数表达式):
从字符串表达式的最左边开始截取整数表达式个字符。
例如:select left('abcdef',3) →返回abc
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式