sql 查找字段中某字符的位置

如一个字段如下student表remark字段字段值为:‘学号为:1014133’我想通过SQL查询出10这两个数字在这个字段值中的位置。给我通用写法,我那只是示例。... 如一个字段如下 student 表 remark 字段 字段值为:‘学号为:1014133’
我想通过SQL查询出10这两个数字在这个字段值中的位置。
给我通用写法,我那只是示例。
展开
 我来答
freechan10
2020-01-05 · TA获得超过2.9万个赞
知道小有建树答主
回答量:263
采纳率:68%
帮助的人:12.2万
展开全部

1、创建测试表,

create table test_student(id number, remark varchar2(20));

2、插入测试数据

insert into test_student values(1001, 1014133);

insert into test_student values(1002, 2014131);

insert into test_student values(1003, 3014132);

insert into test_student values(1004,4010135);

commit;

3、查询表中全量数据,select t.*, rowid from test_student t;

4、编写语句,查询出10这两个数字在remark字段值中的位置;

   select t.*, instr(remark,'10') loc from test_student t ;

   可以发现部分记录并没有10,所以返回值是0;

badkano
推荐于2017-09-07 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885358
团长

向TA提问 私信TA
展开全部
select charindex('10',学号) from 表名

得到的结果就是10的起始位置

更多追问追答
追问
Mysql无此函数
追答
select instr(学号,'10') from 表名

这样腻

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式